P4C
The P4 Compiler
Intermediate Representation

Namespaces

 IR
 A general namespace can have multiple declarations with the same name.
 

Classes

class  IR::ActionArg
 
class  IR::ActionFunction
 
class  IR::ActionList
 
class  IR::ActionListElement
 
class  IR::ActionProfile
 
class  IR::ActionSelector
 
class  IR::Add
 
class  IR::Apply
 
class  IR::ArrayIndex
 
class  IR::AssignmentStatement
 
class  IR::Attached
 
class  IR::AttribLocal
 
class  IR::AttribLocals
 
class  IR::Attribute
 
class  IR::AttributeRef
 
class  IR::BAnd
 
class  IR::Block
 
class  IR::BlockStatement
 
class  IR::BoolLiteral
 
class  IR::BOr
 
class  IR::BXor
 
class  IR::CalculatedField
 
class  IR::CalculatedField::update_or_verify
 
class  IR::CaseEntry
 
class  IR::Cast
 
class  IR::Cmpl
 
class  IR::Concat
 
class  IR::ConcreteHeaderRef
 
class  IR::Constant
 This is an integer literal on arbitrary-precision. More...
 
class  IR::ConstructorCallExpression
 
class  IR::ControlBlock
 
class  IR::Counter
 
class  IR::CounterOrMeter
 
class  IR::Declaration_Constant
 
class  IR::Declaration_Instance
 
class  IR::Declaration_MatchKind
 
class  IR::Declaration_Variable
 
class  IR::DefaultExpression
 
class  IR::Div
 
class  IR::EmptyStatement
 
class  IR::EntriesList
 List of predefined entries. Part of table properties. More...
 
class  IR::Entry
 Pre-defined entry in a table. More...
 
class  IR::Equ
 
class  IR::ExitStatement
 
class  IR::ExpressionListValue
 
class  IR::ExpressionValue
 
class  IR::ExternBlock
 
class  IR::FieldList
 
class  IR::FieldListCalculation
 
class  IR::Function
 
class  IR::Geq
 
class  IR::GlobalRef
 
class  IR::Grt
 
class  IR::Header
 
class  IR::HeaderRef
 
class  IR::HeaderStack
 
class  IR::HeaderStackItemRef
 
class  IR::If
 
class  IR::IfStatement
 
class  IR::InstantiatedBlock
 
class  IR::IntMod
 
class  IR::Key
 
class  IR::KeyElement
 
class  IR::LAnd
 
class  IR::Leq
 
class  IR::ListExpression
 Represents a list of expressions separated by commas. More...
 
class  IR::Literal
 
class  IR::LNot
 
class  IR::LOr
 
class  IR::Lss
 
class  IR::Mask
 
class  IR::Member
 
class  IR::Meter
 
class  IR::MethodCallExpression
 
class  IR::MethodCallStatement
 
class  IR::Mod
 
class  IR::Mul
 
class  IR::Mux
 
class  IR::NamedCond
 
class  IR::NameList
 
class  IR::Neg
 
class  IR::Neq
 
class  IR::Operation_Binary
 
class  IR::Operation_Relation
 
class  IR::Operation_Ternary
 
class  IR::Operation_Unary
 
class  IR::P4Action
 
class  IR::P4Control
 
class  IR::P4Parser
 
class  IR::P4Program
 
class  IR::P4Table
 
class  IR::PackageBlock
 
class  IR::ParserBlock
 
class  IR::ParserException
 
class  IR::ParserState
 
class  IR::PathExpression
 
class  IR::Primitive
 
class  IR::PrimitiveAction
 
class  IR::Property
 
class  IR::PropertyValue
 
class  IR::Range
 
class  IR::Register
 
class  IR::ReturnStatement
 
class  IR::SelectCase
 
class  IR::SelectExpression
 
class  IR::Shl
 
class  IR::Shr
 
class  IR::Slice
 
class  IR::Stateful
 
class  IR::Statement
 
class  IR::StringLiteral
 
class  IR::Sub
 
class  IR::SwitchCase
 
class  IR::SwitchStatement
 
class  IR::TableBlock
 
class  IR::TableProperties
 
class  IR::This
 
class  IR::ToplevelBlock
 
class  IR::Type_AnyTable
 
class  IR::Type_Block
 
class  IR::Type_Counter
 
class  IR::Type_Error
 
class  IR::Type_Expression
 
class  IR::Type_FieldListCalculation
 
class  IR::Type_Meter
 
class  IR::Type_Register
 
class  IR::TypeNameExpression
 
class  IR::V1Control
 
class  IR::v1HeaderType
 
class  IR::V1Parser
 
class  IR::V1Program
 
class  IR::V1Table
 

Enumerations

enum  CounterType { NONE, PACKETS, BYTES, BOTH }
 

Functions

 IR::ActionArg::ActionArg (JSONLoader &json)
 
 IR::ActionArg::ActionArg (Util::SourceInfo srcInfo, const Type *type, cstring action_name, ID name)
 
 IR::ActionArg::ActionArg (const Type *type, cstring action_name, ID name)
 
 IR::ActionArg::ActionArg (Util::SourceInfo srcInfo, cstring action_name, ID name)
 
 IR::ActionArg::ActionArg (cstring action_name, ID name)
 
 IR::ActionFunction::ActionFunction (JSONLoader &json)
 
 IR::ActionFunction::ActionFunction (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::ActionFunction::ActionFunction (ID name, const Annotations *annotations)
 
 IR::ActionFunction::ActionFunction (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::ActionFunction::ActionFunction (const Annotations *annotations)
 
 IR::ActionFunction::ActionFunction (Util::SourceInfo srcInfo, ID name)
 
 IR::ActionFunction::ActionFunction (ID name)
 
 IR::ActionFunction::ActionFunction (Util::SourceInfo srcInfo)
 
 IR::ActionList::ActionList (JSONLoader &json)
 
 IR::ActionList::ActionList (Util::SourceInfo srcInfo, const IndexedVector< ActionListElement > *actionList)
 
 IR::ActionList::ActionList (const IndexedVector< ActionListElement > *actionList)
 
 IR::ActionListElement::ActionListElement (JSONLoader &json)
 
 IR::ActionListElement::ActionListElement (Util::SourceInfo srcInfo, const Annotations *annotations, const Expression *expression)
 
 IR::ActionListElement::ActionListElement (const Annotations *annotations, const Expression *expression)
 
 IR::ActionProfile::ActionProfile (JSONLoader &json)
 
 IR::ActionProfile::ActionProfile (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::ActionProfile::ActionProfile (ID name, const Annotations *annotations)
 
 IR::ActionProfile::ActionProfile (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::ActionProfile::ActionProfile (const Annotations *annotations)
 
 IR::ActionProfile::ActionProfile (Util::SourceInfo srcInfo, ID name)
 
 IR::ActionProfile::ActionProfile (ID name)
 
 IR::ActionProfile::ActionProfile (Util::SourceInfo srcInfo)
 
 IR::ActionSelector::ActionSelector (JSONLoader &json)
 
 IR::ActionSelector::ActionSelector (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::ActionSelector::ActionSelector (ID name, const Annotations *annotations)
 
 IR::ActionSelector::ActionSelector (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::ActionSelector::ActionSelector (const Annotations *annotations)
 
 IR::ActionSelector::ActionSelector (Util::SourceInfo srcInfo, ID name)
 
 IR::ActionSelector::ActionSelector (ID name)
 
 IR::ActionSelector::ActionSelector (Util::SourceInfo srcInfo)
 
 IR::Add::Add (JSONLoader &json)
 
 IR::Add::Add (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Add::Add (const Type *type, const Expression *left, const Expression *right)
 
 IR::Add::Add (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Add::Add (const Expression *left, const Expression *right)
 
 IR::Apply::Apply (JSONLoader &json)
 
 IR::Apply::Apply (Util::SourceInfo srcInfo, const Type *type, ID name)
 
 IR::Apply::Apply (const Type *type, ID name)
 
 IR::Apply::Apply (Util::SourceInfo srcInfo, ID name)
 
 IR::Apply::Apply (ID name)
 
 IR::Apply::Apply (Util::SourceInfo srcInfo, const Type *type)
 
 IR::Apply::Apply (const Type *type)
 
 IR::Apply::Apply (Util::SourceInfo srcInfo)
 
 IR::ArrayIndex::ArrayIndex (JSONLoader &json)
 
 IR::ArrayIndex::ArrayIndex (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::ArrayIndex::ArrayIndex (const Type *type, const Expression *left, const Expression *right)
 
 IR::ArrayIndex::ArrayIndex (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::ArrayIndex::ArrayIndex (const Expression *left, const Expression *right)
 
 IR::AssignmentStatement::AssignmentStatement (JSONLoader &json)
 
 IR::AssignmentStatement::AssignmentStatement (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::AssignmentStatement::AssignmentStatement (const Expression *left, const Expression *right)
 
 IR::Attached::Attached (JSONLoader &json)
 
 IR::Attached::Attached (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::Attached::Attached (ID name, const Annotations *annotations)
 
 IR::Attached::Attached (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::Attached::Attached (const Annotations *annotations)
 
 IR::Attached::Attached (Util::SourceInfo srcInfo, ID name)
 
 IR::Attached::Attached (ID name)
 
 IR::Attached::Attached (Util::SourceInfo srcInfo)
 
 IR::AttribLocal::AttribLocal (JSONLoader &json)
 
 IR::AttribLocal::AttribLocal (Util::SourceInfo srcInfo, const Type *type, ID name)
 
 IR::AttribLocal::AttribLocal (const Type *type, ID name)
 
 IR::AttribLocal::AttribLocal (Util::SourceInfo srcInfo, ID name)
 
 IR::AttribLocal::AttribLocal (ID name)
 
 IR::AttribLocals::AttribLocals (JSONLoader &json)
 
 IR::AttribLocals::AttribLocals (Util::SourceInfo srcInfo)
 
 IR::Attribute::Attribute (JSONLoader &json)
 
 IR::Attribute::Attribute (Util::SourceInfo srcInfo, ID name)
 
 IR::Attribute::Attribute (ID name)
 
 IR::AttributeRef::AttributeRef (JSONLoader &json)
 
 IR::AttributeRef::AttributeRef (Util::SourceInfo srcInfo, const Type *type, cstring extern_name, const Type_Extern *extern_type, const Attribute *attrib)
 
 IR::AttributeRef::AttributeRef (const Type *type, cstring extern_name, const Type_Extern *extern_type, const Attribute *attrib)
 
 IR::AttributeRef::AttributeRef (Util::SourceInfo srcInfo, cstring extern_name, const Type_Extern *extern_type, const Attribute *attrib)
 
 IR::AttributeRef::AttributeRef (cstring extern_name, const Type_Extern *extern_type, const Attribute *attrib)
 
 IR::BAnd::BAnd (JSONLoader &json)
 
 IR::BAnd::BAnd (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::BAnd::BAnd (const Type *type, const Expression *left, const Expression *right)
 
 IR::BAnd::BAnd (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::BAnd::BAnd (const Expression *left, const Expression *right)
 
 IR::Block::Block (JSONLoader &json)
 
 IR::Block::Block (Util::SourceInfo srcInfo, const Node *node)
 
 IR::Block::Block (const Node *node)
 
 IR::BlockStatement::BlockStatement (JSONLoader &json)
 
 IR::BlockStatement::BlockStatement (Util::SourceInfo srcInfo, const Annotations *annotations, const IndexedVector< StatOrDecl > *components)
 
 IR::BlockStatement::BlockStatement (const Annotations *annotations, const IndexedVector< StatOrDecl > *components)
 
 IR::BoolLiteral::BoolLiteral (JSONLoader &json)
 
 IR::BoolLiteral::BoolLiteral (Util::SourceInfo srcInfo, const Type *type, bool value)
 
 IR::BoolLiteral::BoolLiteral (const Type *type, bool value)
 
 IR::BoolLiteral::BoolLiteral (Util::SourceInfo srcInfo, bool value)
 
 IR::BoolLiteral::BoolLiteral (bool value)
 
 IR::BOr::BOr (JSONLoader &json)
 
 IR::BOr::BOr (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::BOr::BOr (const Type *type, const Expression *left, const Expression *right)
 
 IR::BOr::BOr (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::BOr::BOr (const Expression *left, const Expression *right)
 
 IR::BXor::BXor (JSONLoader &json)
 
 IR::BXor::BXor (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::BXor::BXor (const Type *type, const Expression *left, const Expression *right)
 
 IR::BXor::BXor (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::BXor::BXor (const Expression *left, const Expression *right)
 
 IR::CalculatedField::CalculatedField (JSONLoader &json)
 
 IR::CalculatedField::CalculatedField (Util::SourceInfo srcInfo, const Expression *field, const Annotations *annotations)
 
 IR::CalculatedField::CalculatedField (const Expression *field, const Annotations *annotations)
 
 IR::CalculatedField::CalculatedField (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::CalculatedField::CalculatedField (const Annotations *annotations)
 
 IR::CaseEntry::CaseEntry (JSONLoader &json)
 
 IR::CaseEntry::CaseEntry (Util::SourceInfo srcInfo, ID action)
 
 IR::CaseEntry::CaseEntry (ID action)
 
 IR::CaseEntry::CaseEntry (Util::SourceInfo srcInfo)
 
 IR::Cast::Cast (JSONLoader &json)
 
 IR::Cast::Cast (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 IR::Cast::Cast (const Type *type, const Expression *expr)
 
 IR::Cast::Cast (Util::SourceInfo srcInfo, const Expression *expr)
 
 IR::Cast::Cast (const Expression *expr)
 
 IR::Cmpl::Cmpl (JSONLoader &json)
 
 IR::Cmpl::Cmpl (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 IR::Cmpl::Cmpl (const Type *type, const Expression *expr)
 
 IR::Cmpl::Cmpl (Util::SourceInfo srcInfo, const Expression *expr)
 
 IR::Cmpl::Cmpl (const Expression *expr)
 
 IR::Concat::Concat (JSONLoader &json)
 
 IR::Concat::Concat (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Concat::Concat (const Type *type, const Expression *left, const Expression *right)
 
 IR::Concat::Concat (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Concat::Concat (const Expression *left, const Expression *right)
 
 IR::ConcreteHeaderRef::ConcreteHeaderRef (JSONLoader &json)
 
 IR::ConcreteHeaderRef::ConcreteHeaderRef (Util::SourceInfo srcInfo, const Type *type, const HeaderOrMetadata *ref)
 
 IR::ConcreteHeaderRef::ConcreteHeaderRef (const Type *type, const HeaderOrMetadata *ref)
 
 IR::ConcreteHeaderRef::ConcreteHeaderRef (Util::SourceInfo srcInfo, const HeaderOrMetadata *ref)
 
 IR::ConcreteHeaderRef::ConcreteHeaderRef (const HeaderOrMetadata *ref)
 
 IR::Constant::Constant (intmax_t v, unsigned base=10)
 
 IR::Constant::Constant (mpz_class v, unsigned base=10)
 
 IR::Constant::Constant (Util::SourceInfo si, mpz_class v, unsigned base=10)
 
 IR::Constant::Constant (Type const *t, mpz_class v, unsigned base=10, bool noWarning=false)
 
 IR::Constant::Constant (Util::SourceInfo si, Type const *t, mpz_class v, unsigned base=10, bool noWarning=false)
 
 IR::Constant::Constant (JSONLoader &json)
 
 IR::ConstructorCallExpression::ConstructorCallExpression (JSONLoader &json)
 
 IR::ConstructorCallExpression::ConstructorCallExpression (Util::SourceInfo srcInfo, const Type *type, const Vector< Expression > *arguments)
 
 IR::ConstructorCallExpression::ConstructorCallExpression (const Type *type, const Vector< Expression > *arguments)
 
 IR::ConstructorCallExpression::ConstructorCallExpression (Util::SourceInfo srcInfo, const Vector< Expression > *arguments)
 
 IR::ConstructorCallExpression::ConstructorCallExpression (const Vector< Expression > *arguments)
 
 IR::ControlBlock::ControlBlock (JSONLoader &json)
 
 IR::ControlBlock::ControlBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType, const P4Control *container)
 
 IR::ControlBlock::ControlBlock (const Node *node, const Type *instanceType, const P4Control *container)
 
 IR::Counter::Counter (JSONLoader &json)
 
 IR::Counter::Counter (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::Counter::Counter (ID name, const Annotations *annotations)
 
 IR::Counter::Counter (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::Counter::Counter (const Annotations *annotations)
 
 IR::Counter::Counter (Util::SourceInfo srcInfo, ID name)
 
 IR::Counter::Counter (ID name)
 
 IR::Counter::Counter (Util::SourceInfo srcInfo)
 
 IR::CounterOrMeter::CounterOrMeter (JSONLoader &json)
 
 IR::CounterOrMeter::CounterOrMeter (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::CounterOrMeter::CounterOrMeter (ID name, const Annotations *annotations)
 
 IR::CounterOrMeter::CounterOrMeter (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::CounterOrMeter::CounterOrMeter (const Annotations *annotations)
 
 IR::CounterOrMeter::CounterOrMeter (Util::SourceInfo srcInfo, ID name)
 
 IR::CounterOrMeter::CounterOrMeter (ID name)
 
 IR::CounterOrMeter::CounterOrMeter (Util::SourceInfo srcInfo)
 
 IR::Declaration_Constant::Declaration_Constant (JSONLoader &json)
 
 IR::Declaration_Constant::Declaration_Constant (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const Type *type, const Expression *initializer)
 
 IR::Declaration_Constant::Declaration_Constant (ID name, const Annotations *annotations, const Type *type, const Expression *initializer)
 
 IR::Declaration_Instance::Declaration_Instance (JSONLoader &json)
 
 IR::Declaration_Instance::Declaration_Instance (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const Type *type, const Vector< Expression > *arguments, const BlockStatement *initializer)
 
 IR::Declaration_Instance::Declaration_Instance (ID name, const Annotations *annotations, const Type *type, const Vector< Expression > *arguments, const BlockStatement *initializer)
 
 IR::Declaration_Instance::Declaration_Instance (Util::SourceInfo srcInfo, ID name, const Type *type, const Vector< Expression > *arguments, const BlockStatement *initializer)
 
 IR::Declaration_Instance::Declaration_Instance (ID name, const Type *type, const Vector< Expression > *arguments, const BlockStatement *initializer)
 
 IR::Declaration_Instance::Declaration_Instance (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const Type *type, const Vector< Expression > *arguments)
 
 IR::Declaration_Instance::Declaration_Instance (ID name, const Annotations *annotations, const Type *type, const Vector< Expression > *arguments)
 
 IR::Declaration_Instance::Declaration_Instance (Util::SourceInfo srcInfo, ID name, const Type *type, const Vector< Expression > *arguments)
 
 IR::Declaration_Instance::Declaration_Instance (ID name, const Type *type, const Vector< Expression > *arguments)
 
 IR::Declaration_MatchKind::Declaration_MatchKind (JSONLoader &json)
 
 IR::Declaration_MatchKind::Declaration_MatchKind (Util::SourceInfo srcInfo, const IndexedVector< Declaration_ID > *members)
 
 IR::Declaration_MatchKind::Declaration_MatchKind (const IndexedVector< Declaration_ID > *members)
 
 IR::Declaration_Variable::Declaration_Variable (JSONLoader &json)
 
 IR::Declaration_Variable::Declaration_Variable (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const Type *type, const Expression *initializer)
 
 IR::Declaration_Variable::Declaration_Variable (ID name, const Annotations *annotations, const Type *type, const Expression *initializer)
 
 IR::DefaultExpression::DefaultExpression (JSONLoader &json)
 
 IR::DefaultExpression::DefaultExpression (Util::SourceInfo srcInfo, const Type *type)
 
 IR::DefaultExpression::DefaultExpression (const Type *type)
 
 IR::DefaultExpression::DefaultExpression (Util::SourceInfo srcInfo)
 
 IR::Div::Div (JSONLoader &json)
 
 IR::Div::Div (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Div::Div (const Type *type, const Expression *left, const Expression *right)
 
 IR::Div::Div (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Div::Div (const Expression *left, const Expression *right)
 
 IR::EmptyStatement::EmptyStatement (JSONLoader &json)
 
 IR::EmptyStatement::EmptyStatement (Util::SourceInfo srcInfo)
 
 IR::EntriesList::EntriesList (JSONLoader &json)
 
 IR::EntriesList::EntriesList (Util::SourceInfo srcInfo, const Vector< Entry > *entries)
 
 IR::EntriesList::EntriesList (const Vector< Entry > *entries)
 
 IR::Entry::Entry (JSONLoader &json)
 
 IR::Entry::Entry (Util::SourceInfo srcInfo, const Annotations *annotations, const ListExpression *keys, const Expression *action)
 
 IR::Entry::Entry (const Annotations *annotations, const ListExpression *keys, const Expression *action)
 
 IR::Equ::Equ (JSONLoader &json)
 
 IR::Equ::Equ (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Equ::Equ (const Type *type, const Expression *left, const Expression *right)
 
 IR::Equ::Equ (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Equ::Equ (const Expression *left, const Expression *right)
 
 IR::ExitStatement::ExitStatement (JSONLoader &json)
 
 IR::ExitStatement::ExitStatement (Util::SourceInfo srcInfo)
 
 IR::ExpressionListValue::ExpressionListValue (JSONLoader &json)
 
 IR::ExpressionListValue::ExpressionListValue (Util::SourceInfo srcInfo, Vector< Expression > expressions)
 
 IR::ExpressionListValue::ExpressionListValue (Vector< Expression > expressions)
 
 IR::ExpressionValue::ExpressionValue (JSONLoader &json)
 
 IR::ExpressionValue::ExpressionValue (Util::SourceInfo srcInfo, const Expression *expression)
 
 IR::ExpressionValue::ExpressionValue (const Expression *expression)
 
 IR::ExternBlock::ExternBlock (JSONLoader &json)
 
 IR::ExternBlock::ExternBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType, const Type_Extern *type, const Method *constructor)
 
 IR::ExternBlock::ExternBlock (const Node *node, const Type *instanceType, const Type_Extern *type, const Method *constructor)
 
 IR::FieldList::FieldList (JSONLoader &json)
 
 IR::FieldList::FieldList (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::FieldList::FieldList (ID name, const Annotations *annotations)
 
 IR::FieldList::FieldList (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::FieldList::FieldList (const Annotations *annotations)
 
 IR::FieldList::FieldList (Util::SourceInfo srcInfo, ID name)
 
 IR::FieldList::FieldList (ID name)
 
 IR::FieldList::FieldList (Util::SourceInfo srcInfo)
 
 IR::FieldListCalculation::FieldListCalculation (JSONLoader &json)
 
 IR::FieldListCalculation::FieldListCalculation (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::FieldListCalculation::FieldListCalculation (ID name, const Annotations *annotations)
 
 IR::FieldListCalculation::FieldListCalculation (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::FieldListCalculation::FieldListCalculation (const Annotations *annotations)
 
 IR::Function::Function (JSONLoader &json)
 
 IR::Function::Function (Util::SourceInfo srcInfo, ID name, const Type_Method *type, const BlockStatement *body)
 
 IR::Function::Function (ID name, const Type_Method *type, const BlockStatement *body)
 
 IR::Geq::Geq (JSONLoader &json)
 
 IR::Geq::Geq (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Geq::Geq (const Type *type, const Expression *left, const Expression *right)
 
 IR::Geq::Geq (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Geq::Geq (const Expression *left, const Expression *right)
 
 IR::GlobalRef::GlobalRef (JSONLoader &json)
 
 IR::GlobalRef::GlobalRef (Util::SourceInfo srcInfo, const Type *type, const Node *obj)
 
 IR::GlobalRef::GlobalRef (const Type *type, const Node *obj)
 
 IR::GlobalRef::GlobalRef (Util::SourceInfo srcInfo, const Node *obj)
 
 IR::GlobalRef::GlobalRef (const Node *obj)
 
 IR::Grt::Grt (JSONLoader &json)
 
 IR::Grt::Grt (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Grt::Grt (const Type *type, const Expression *left, const Expression *right)
 
 IR::Grt::Grt (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Grt::Grt (const Expression *left, const Expression *right)
 
 IR::Header::Header (ID n, const Type_Header *t)
 
 IR::Header::Header (JSONLoader &json)
 
 IR::Header::Header (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations)
 
 IR::Header::Header (ID type_name, ID name, const Annotations *annotations)
 
 IR::HeaderOrMetadata::HeaderOrMetadata (ID n, const Type_StructLike *t)
 
 IR::HeaderOrMetadata::HeaderOrMetadata (JSONLoader &json)
 
 IR::HeaderOrMetadata::HeaderOrMetadata (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations)
 
 IR::HeaderOrMetadata::HeaderOrMetadata (ID type_name, ID name, const Annotations *annotations)
 
 IR::HeaderRef::HeaderRef (JSONLoader &json)
 
 IR::HeaderRef::HeaderRef (Util::SourceInfo srcInfo, const Type *type)
 
 IR::HeaderRef::HeaderRef (const Type *type)
 
 IR::HeaderRef::HeaderRef (Util::SourceInfo srcInfo)
 
 IR::HeaderStack::HeaderStack (ID n, const Type_Header *t, int sz)
 
 IR::HeaderStack::HeaderStack (JSONLoader &json)
 
 IR::HeaderStack::HeaderStack (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations, int size)
 
 IR::HeaderStack::HeaderStack (ID type_name, ID name, const Annotations *annotations, int size)
 
 IR::HeaderStackItemRef::HeaderStackItemRef (JSONLoader &json)
 
 IR::HeaderStackItemRef::HeaderStackItemRef (Util::SourceInfo srcInfo, const Type *type, const Expression *base_, const Expression *index_)
 
 IR::HeaderStackItemRef::HeaderStackItemRef (const Type *type, const Expression *base_, const Expression *index_)
 
 IR::HeaderStackItemRef::HeaderStackItemRef (Util::SourceInfo srcInfo, const Expression *base_, const Expression *index_)
 
 IR::HeaderStackItemRef::HeaderStackItemRef (const Expression *base_, const Expression *index_)
 
 IR::If::If (JSONLoader &json)
 
 IR::If::If (Util::SourceInfo srcInfo, const Type *type, const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
 IR::If::If (const Type *type, const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
 IR::If::If (Util::SourceInfo srcInfo, const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
 IR::If::If (const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
 IR::IfStatement::IfStatement (JSONLoader &json)
 
 IR::IfStatement::IfStatement (Util::SourceInfo srcInfo, const Expression *condition, const Statement *ifTrue, const Statement *ifFalse)
 
 IR::IfStatement::IfStatement (const Expression *condition, const Statement *ifTrue, const Statement *ifFalse)
 
 IR::InstantiatedBlock::InstantiatedBlock (JSONLoader &json)
 
 IR::InstantiatedBlock::InstantiatedBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType)
 
 IR::InstantiatedBlock::InstantiatedBlock (const Node *node, const Type *instanceType)
 
 IR::IntMod::IntMod (JSONLoader &json)
 
 IR::IntMod::IntMod (Util::SourceInfo srcInfo, const Type *type, const Expression *expr, unsigned width)
 
 IR::IntMod::IntMod (const Type *type, const Expression *expr, unsigned width)
 
 IR::IntMod::IntMod (Util::SourceInfo srcInfo, const Expression *expr, unsigned width)
 
 IR::IntMod::IntMod (const Expression *expr, unsigned width)
 
 IR::Key::Key (JSONLoader &json)
 
 IR::Key::Key (Util::SourceInfo srcInfo, const Vector< KeyElement > *keyElements)
 
 IR::Key::Key (const Vector< KeyElement > *keyElements)
 
 IR::KeyElement::KeyElement (JSONLoader &json)
 
 IR::KeyElement::KeyElement (Util::SourceInfo srcInfo, const Annotations *annotations, const Expression *expression, const PathExpression *matchType)
 
 IR::KeyElement::KeyElement (const Annotations *annotations, const Expression *expression, const PathExpression *matchType)
 
 IR::LAnd::LAnd (JSONLoader &json)
 
 IR::LAnd::LAnd (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::LAnd::LAnd (const Type *type, const Expression *left, const Expression *right)
 
 IR::LAnd::LAnd (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::LAnd::LAnd (const Expression *left, const Expression *right)
 
 IR::Leq::Leq (JSONLoader &json)
 
 IR::Leq::Leq (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Leq::Leq (const Type *type, const Expression *left, const Expression *right)
 
 IR::Leq::Leq (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Leq::Leq (const Expression *left, const Expression *right)
 
 IR::ListExpression::ListExpression (JSONLoader &json)
 
 IR::ListExpression::ListExpression (Util::SourceInfo srcInfo, const Type *type, const Vector< Expression > *components)
 
 IR::ListExpression::ListExpression (const Type *type, const Vector< Expression > *components)
 
 IR::ListExpression::ListExpression (Util::SourceInfo srcInfo, const Vector< Expression > *components)
 
 IR::ListExpression::ListExpression (const Vector< Expression > *components)
 
 IR::Literal::Literal (JSONLoader &json)
 
 IR::Literal::Literal (Util::SourceInfo srcInfo, const Type *type)
 
 IR::Literal::Literal (const Type *type)
 
 IR::Literal::Literal (Util::SourceInfo srcInfo)
 
 IR::LNot::LNot (JSONLoader &json)
 
 IR::LNot::LNot (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 IR::LNot::LNot (const Type *type, const Expression *expr)
 
 IR::LNot::LNot (Util::SourceInfo srcInfo, const Expression *expr)
 
 IR::LNot::LNot (const Expression *expr)
 
 IR::LOr::LOr (JSONLoader &json)
 
 IR::LOr::LOr (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::LOr::LOr (const Type *type, const Expression *left, const Expression *right)
 
 IR::LOr::LOr (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::LOr::LOr (const Expression *left, const Expression *right)
 
 IR::Lss::Lss (JSONLoader &json)
 
 IR::Lss::Lss (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Lss::Lss (const Type *type, const Expression *left, const Expression *right)
 
 IR::Lss::Lss (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Lss::Lss (const Expression *left, const Expression *right)
 
 IR::Mask::Mask (JSONLoader &json)
 
 IR::Mask::Mask (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Mask::Mask (const Type *type, const Expression *left, const Expression *right)
 
 IR::Mask::Mask (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Mask::Mask (const Expression *left, const Expression *right)
 
 IR::Member::Member (JSONLoader &json)
 
 IR::Member::Member (Util::SourceInfo srcInfo, const Type *type, const Expression *expr, ID member)
 
 IR::Member::Member (const Type *type, const Expression *expr, ID member)
 
 IR::Member::Member (Util::SourceInfo srcInfo, const Expression *expr, ID member)
 
 IR::Member::Member (const Expression *expr, ID member)
 
 IR::Metadata::Metadata (ID n, const Type_StructLike *t)
 
 IR::Metadata::Metadata (JSONLoader &json)
 
 IR::Metadata::Metadata (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations)
 
 IR::Metadata::Metadata (ID type_name, ID name, const Annotations *annotations)
 
 IR::Meter::Meter (JSONLoader &json)
 
 IR::Meter::Meter (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::Meter::Meter (ID name, const Annotations *annotations)
 
 IR::Meter::Meter (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::Meter::Meter (const Annotations *annotations)
 
 IR::Meter::Meter (Util::SourceInfo srcInfo, ID name)
 
 IR::Meter::Meter (ID name)
 
 IR::Meter::Meter (Util::SourceInfo srcInfo)
 
 IR::MethodCallExpression::MethodCallExpression (JSONLoader &json)
 
 IR::MethodCallExpression::MethodCallExpression (Util::SourceInfo srcInfo, const Type *type, const Expression *method, const Vector< Type > *typeArguments, const Vector< Expression > *arguments)
 
 IR::MethodCallExpression::MethodCallExpression (const Type *type, const Expression *method, const Vector< Type > *typeArguments, const Vector< Expression > *arguments)
 
 IR::MethodCallExpression::MethodCallExpression (Util::SourceInfo srcInfo, const Expression *method, const Vector< Type > *typeArguments, const Vector< Expression > *arguments)
 
 IR::MethodCallExpression::MethodCallExpression (const Expression *method, const Vector< Type > *typeArguments, const Vector< Expression > *arguments)
 
 IR::MethodCallStatement::MethodCallStatement (JSONLoader &json)
 
 IR::MethodCallStatement::MethodCallStatement (Util::SourceInfo srcInfo, const MethodCallExpression *methodCall)
 
 IR::MethodCallStatement::MethodCallStatement (const MethodCallExpression *methodCall)
 
 IR::Mod::Mod (JSONLoader &json)
 
 IR::Mod::Mod (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Mod::Mod (const Type *type, const Expression *left, const Expression *right)
 
 IR::Mod::Mod (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Mod::Mod (const Expression *left, const Expression *right)
 
 IR::Mul::Mul (JSONLoader &json)
 
 IR::Mul::Mul (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Mul::Mul (const Type *type, const Expression *left, const Expression *right)
 
 IR::Mul::Mul (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Mul::Mul (const Expression *left, const Expression *right)
 
 IR::Mux::Mux (JSONLoader &json)
 
 IR::Mux::Mux (Util::SourceInfo srcInfo, const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Mux::Mux (const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Mux::Mux (Util::SourceInfo srcInfo, const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Mux::Mux (const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::NamedCond::NamedCond (If const &i)
 
 IR::NamedCond::NamedCond (JSONLoader &json)
 
 IR::NameList::NameList (Util::SourceInfo si, cstring n)
 
 IR::NameList::NameList (JSONLoader &json)
 
 IR::NameList::NameList (Util::SourceInfo srcInfo)
 
 IR::Neg::Neg (JSONLoader &json)
 
 IR::Neg::Neg (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 IR::Neg::Neg (const Type *type, const Expression *expr)
 
 IR::Neg::Neg (Util::SourceInfo srcInfo, const Expression *expr)
 
 IR::Neg::Neg (const Expression *expr)
 
 IR::Neq::Neq (JSONLoader &json)
 
 IR::Neq::Neq (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Neq::Neq (const Type *type, const Expression *left, const Expression *right)
 
 IR::Neq::Neq (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Neq::Neq (const Expression *left, const Expression *right)
 
 IR::Operation_Binary::Operation_Binary (JSONLoader &json)
 
 IR::Operation_Binary::Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Operation_Binary::Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 IR::Operation_Binary::Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Operation_Binary::Operation_Binary (const Expression *left, const Expression *right)
 
 IR::Operation_Relation::Operation_Relation (JSONLoader &json)
 
 IR::Operation_Relation::Operation_Relation (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Operation_Relation::Operation_Relation (const Type *type, const Expression *left, const Expression *right)
 
 IR::Operation_Relation::Operation_Relation (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Operation_Relation::Operation_Relation (const Expression *left, const Expression *right)
 
 IR::Operation_Ternary::Operation_Ternary (JSONLoader &json)
 
 IR::Operation_Ternary::Operation_Ternary (Util::SourceInfo srcInfo, const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Operation_Ternary::Operation_Ternary (const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Operation_Ternary::Operation_Ternary (Util::SourceInfo srcInfo, const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Operation_Ternary::Operation_Ternary (const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Operation_Unary::Operation_Unary (JSONLoader &json)
 
 IR::Operation_Unary::Operation_Unary (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 IR::Operation_Unary::Operation_Unary (const Type *type, const Expression *expr)
 
 IR::Operation_Unary::Operation_Unary (Util::SourceInfo srcInfo, const Expression *expr)
 
 IR::Operation_Unary::Operation_Unary (const Expression *expr)
 
 IR::P4Action::P4Action (JSONLoader &json)
 
 IR::P4Action::P4Action (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const ParameterList *parameters, const BlockStatement *body)
 
 IR::P4Action::P4Action (ID name, const Annotations *annotations, const ParameterList *parameters, const BlockStatement *body)
 
 IR::P4Control::P4Control (JSONLoader &json)
 
 IR::P4Control::P4Control (Util::SourceInfo srcInfo, ID name, const Type_Control *type, const ParameterList *constructorParams, const IndexedVector< Declaration > *controlLocals, const BlockStatement *body)
 
 IR::P4Control::P4Control (ID name, const Type_Control *type, const ParameterList *constructorParams, const IndexedVector< Declaration > *controlLocals, const BlockStatement *body)
 
 IR::P4Parser::P4Parser (JSONLoader &json)
 
 IR::P4Parser::P4Parser (Util::SourceInfo srcInfo, ID name, const Type_Parser *type, const ParameterList *constructorParams, const IndexedVector< Declaration > *parserLocals, const IndexedVector< ParserState > *states)
 
 IR::P4Parser::P4Parser (ID name, const Type_Parser *type, const ParameterList *constructorParams, const IndexedVector< Declaration > *parserLocals, const IndexedVector< ParserState > *states)
 
 IR::P4Program::P4Program (JSONLoader &json)
 
 IR::P4Program::P4Program (Util::SourceInfo srcInfo, const IndexedVector< Node > *declarations)
 
 IR::P4Program::P4Program (const IndexedVector< Node > *declarations)
 
 IR::P4Table::P4Table (JSONLoader &json)
 
 IR::P4Table::P4Table (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const TableProperties *properties)
 
 IR::P4Table::P4Table (ID name, const Annotations *annotations, const TableProperties *properties)
 
 IR::PackageBlock::PackageBlock (JSONLoader &json)
 
 IR::PackageBlock::PackageBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType, const Type_Package *type)
 
 IR::PackageBlock::PackageBlock (const Node *node, const Type *instanceType, const Type_Package *type)
 
 IR::ParserBlock::ParserBlock (JSONLoader &json)
 
 IR::ParserBlock::ParserBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType, const P4Parser *container)
 
 IR::ParserBlock::ParserBlock (const Node *node, const Type *instanceType, const P4Parser *container)
 
 IR::ParserException::ParserException (JSONLoader &json)
 
 IR::ParserException::ParserException (Util::SourceInfo srcInfo)
 
 IR::ParserState::ParserState (JSONLoader &json)
 
 IR::ParserState::ParserState (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const IndexedVector< StatOrDecl > *components, const Expression *selectExpression)
 
 IR::ParserState::ParserState (ID name, const Annotations *annotations, const IndexedVector< StatOrDecl > *components, const Expression *selectExpression)
 
 IR::PathExpression::PathExpression (IR::ID id)
 
 IR::PathExpression::PathExpression (JSONLoader &json)
 
 IR::PathExpression::PathExpression (Util::SourceInfo srcInfo, const Type *type, const Path *path)
 
 IR::PathExpression::PathExpression (const Type *type, const Path *path)
 
 IR::PathExpression::PathExpression (Util::SourceInfo srcInfo, const Path *path)
 
 IR::PathExpression::PathExpression (const Path *path)
 
 IR::Primitive::Primitive (cstring n, const Vector< Expression > *l)
 
 IR::Primitive::Primitive (Util::SourceInfo si, cstring n, const Vector< Expression > *l)
 
 IR::Primitive::Primitive (cstring n, const Expression *a1)
 
 IR::Primitive::Primitive (Util::SourceInfo si, cstring n, const Expression *a1)
 
 IR::Primitive::Primitive (cstring n, const Expression *a1, const Expression *a2)
 
 IR::Primitive::Primitive (Util::SourceInfo si, cstring n, const Expression *a1, const Expression *a2)
 
 IR::Primitive::Primitive (cstring n, const Expression *a1, const Vector< Expression > *a2)
 
 IR::Primitive::Primitive (Util::SourceInfo si, cstring n, const Expression *a1, const Vector< Expression > *a2)
 
 IR::Primitive::Primitive (cstring n, const Expression *a1, const Expression *a2, const Expression *a3)
 
 IR::Primitive::Primitive (Util::SourceInfo si, cstring n, const Expression *a1, const Expression *a2, const Expression *a3)
 
 IR::Primitive::Primitive (JSONLoader &json)
 
 IR::Primitive::Primitive (Util::SourceInfo srcInfo, const Type *type, cstring name)
 
 IR::Primitive::Primitive (const Type *type, cstring name)
 
 IR::Primitive::Primitive (Util::SourceInfo srcInfo, cstring name)
 
 IR::Primitive::Primitive (cstring name)
 
 IR::PrimitiveAction::PrimitiveAction (JSONLoader &json)
 
 IR::PrimitiveAction::PrimitiveAction (Util::SourceInfo srcInfo)
 
 IR::Property::Property (JSONLoader &json)
 
 IR::Property::Property (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const PropertyValue *value, bool isConstant)
 
 IR::Property::Property (ID name, const Annotations *annotations, const PropertyValue *value, bool isConstant)
 
 IR::Property::Property (Util::SourceInfo srcInfo, ID name, const PropertyValue *value, bool isConstant)
 
 IR::Property::Property (ID name, const PropertyValue *value, bool isConstant)
 
 IR::PropertyValue::PropertyValue (JSONLoader &json)
 
 IR::PropertyValue::PropertyValue (Util::SourceInfo srcInfo)
 
 IR::Range::Range (JSONLoader &json)
 
 IR::Range::Range (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Range::Range (const Type *type, const Expression *left, const Expression *right)
 
 IR::Range::Range (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Range::Range (const Expression *left, const Expression *right)
 
 IR::Register::Register (JSONLoader &json)
 
 IR::Register::Register (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::Register::Register (ID name, const Annotations *annotations)
 
 IR::Register::Register (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::Register::Register (const Annotations *annotations)
 
 IR::Register::Register (Util::SourceInfo srcInfo, ID name)
 
 IR::Register::Register (ID name)
 
 IR::Register::Register (Util::SourceInfo srcInfo)
 
 IR::ReturnStatement::ReturnStatement (JSONLoader &json)
 
 IR::ReturnStatement::ReturnStatement (Util::SourceInfo srcInfo, const Expression *expression)
 
 IR::ReturnStatement::ReturnStatement (const Expression *expression)
 
 IR::SelectCase::SelectCase (JSONLoader &json)
 
 IR::SelectCase::SelectCase (Util::SourceInfo srcInfo, const Expression *keyset, const PathExpression *state)
 
 IR::SelectCase::SelectCase (const Expression *keyset, const PathExpression *state)
 
 IR::SelectExpression::SelectExpression (JSONLoader &json)
 
 IR::SelectExpression::SelectExpression (Util::SourceInfo srcInfo, const Type *type, const ListExpression *select, Vector< SelectCase > selectCases)
 
 IR::SelectExpression::SelectExpression (const Type *type, const ListExpression *select, Vector< SelectCase > selectCases)
 
 IR::SelectExpression::SelectExpression (Util::SourceInfo srcInfo, const ListExpression *select, Vector< SelectCase > selectCases)
 
 IR::SelectExpression::SelectExpression (const ListExpression *select, Vector< SelectCase > selectCases)
 
 IR::Shl::Shl (JSONLoader &json)
 
 IR::Shl::Shl (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Shl::Shl (const Type *type, const Expression *left, const Expression *right)
 
 IR::Shl::Shl (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Shl::Shl (const Expression *left, const Expression *right)
 
 IR::Shr::Shr (JSONLoader &json)
 
 IR::Shr::Shr (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Shr::Shr (const Type *type, const Expression *left, const Expression *right)
 
 IR::Shr::Shr (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Shr::Shr (const Expression *left, const Expression *right)
 
 IR::Slice::Slice (const Expression *a, int hi, int lo)
 
 IR::Slice::Slice (Util::SourceInfo si, const Expression *a, int hi, int lo)
 
 IR::Slice::Slice (JSONLoader &json)
 
 IR::Slice::Slice (Util::SourceInfo srcInfo, const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Slice::Slice (const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Slice::Slice (Util::SourceInfo srcInfo, const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Slice::Slice (const Expression *e0, const Expression *e1, const Expression *e2)
 
 IR::Stateful::Stateful (JSONLoader &json)
 
 IR::Stateful::Stateful (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::Stateful::Stateful (ID name, const Annotations *annotations)
 
 IR::Stateful::Stateful (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::Stateful::Stateful (const Annotations *annotations)
 
 IR::Stateful::Stateful (Util::SourceInfo srcInfo, ID name)
 
 IR::Stateful::Stateful (ID name)
 
 IR::Stateful::Stateful (Util::SourceInfo srcInfo)
 
 IR::Statement::Statement (JSONLoader &json)
 
 IR::Statement::Statement (Util::SourceInfo srcInfo)
 
 IR::StringLiteral::StringLiteral (ID v)
 
 IR::StringLiteral::StringLiteral (JSONLoader &json)
 
 IR::StringLiteral::StringLiteral (Util::SourceInfo srcInfo, const Type *type, cstring value)
 
 IR::StringLiteral::StringLiteral (const Type *type, cstring value)
 
 IR::StringLiteral::StringLiteral (Util::SourceInfo srcInfo, cstring value)
 
 IR::StringLiteral::StringLiteral (cstring value)
 
 IR::Sub::Sub (JSONLoader &json)
 
 IR::Sub::Sub (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 IR::Sub::Sub (const Type *type, const Expression *left, const Expression *right)
 
 IR::Sub::Sub (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 IR::Sub::Sub (const Expression *left, const Expression *right)
 
 IR::SwitchCase::SwitchCase (JSONLoader &json)
 
 IR::SwitchCase::SwitchCase (Util::SourceInfo srcInfo, const Expression *label, const Statement *statement)
 
 IR::SwitchCase::SwitchCase (const Expression *label, const Statement *statement)
 
 IR::SwitchStatement::SwitchStatement (JSONLoader &json)
 
 IR::SwitchStatement::SwitchStatement (Util::SourceInfo srcInfo, const Expression *expression, Vector< SwitchCase > cases)
 
 IR::SwitchStatement::SwitchStatement (const Expression *expression, Vector< SwitchCase > cases)
 
 IR::TableBlock::TableBlock (JSONLoader &json)
 
 IR::TableBlock::TableBlock (Util::SourceInfo srcInfo, const Node *node, const P4Table *container)
 
 IR::TableBlock::TableBlock (const Node *node, const P4Table *container)
 
 IR::TableProperties::TableProperties (JSONLoader &json)
 
 IR::TableProperties::TableProperties (Util::SourceInfo srcInfo, const IndexedVector< Property > *properties)
 
 IR::TableProperties::TableProperties (const IndexedVector< Property > *properties)
 
 IR::This::This (JSONLoader &json)
 
 IR::This::This (Util::SourceInfo srcInfo, const Type *type)
 
 IR::This::This (const Type *type)
 
 IR::This::This (Util::SourceInfo srcInfo)
 
 IR::ToplevelBlock::ToplevelBlock (JSONLoader &json)
 
 IR::ToplevelBlock::ToplevelBlock (Util::SourceInfo srcInfo, const Node *node)
 
 IR::ToplevelBlock::ToplevelBlock (const Node *node)
 
 IR::Type_AnyTable::Type_AnyTable (JSONLoader &json)
 
 IR::Type_AnyTable::Type_AnyTable (Util::SourceInfo srcInfo)
 
 IR::Type_Block::Type_Block (JSONLoader &json)
 
 IR::Type_Block::Type_Block (Util::SourceInfo srcInfo)
 
 IR::Type_Counter::Type_Counter (JSONLoader &json)
 
 IR::Type_Counter::Type_Counter (Util::SourceInfo srcInfo)
 
 IR::Type_Error::Type_Error (JSONLoader &json)
 
 IR::Type_Error::Type_Error (Util::SourceInfo srcInfo, ID name, const IndexedVector< Declaration_ID > *members)
 
 IR::Type_Error::Type_Error (ID name, const IndexedVector< Declaration_ID > *members)
 
 IR::Type_Expression::Type_Expression (JSONLoader &json)
 
 IR::Type_Expression::Type_Expression (Util::SourceInfo srcInfo)
 
 IR::Type_FieldListCalculation::Type_FieldListCalculation (JSONLoader &json)
 
 IR::Type_FieldListCalculation::Type_FieldListCalculation (Util::SourceInfo srcInfo)
 
 IR::Type_Meter::Type_Meter (JSONLoader &json)
 
 IR::Type_Meter::Type_Meter (Util::SourceInfo srcInfo)
 
 IR::Type_Register::Type_Register (JSONLoader &json)
 
 IR::Type_Register::Type_Register (Util::SourceInfo srcInfo)
 
 IR::TypeNameExpression::TypeNameExpression (ID id)
 
 IR::TypeNameExpression::TypeNameExpression (JSONLoader &json)
 
 IR::TypeNameExpression::TypeNameExpression (Util::SourceInfo srcInfo, const Type *type, const Type_Name *typeName)
 
 IR::TypeNameExpression::TypeNameExpression (const Type *type, const Type_Name *typeName)
 
 IR::TypeNameExpression::TypeNameExpression (Util::SourceInfo srcInfo, const Type_Name *typeName)
 
 IR::TypeNameExpression::TypeNameExpression (const Type_Name *typeName)
 
 IR::CalculatedField::update_or_verify::update_or_verify (bool u, ID n, Expression const *c)
 
 IR::CalculatedField::update_or_verify::update_or_verify (Util::SourceInfo srcInfo, bool update, ID name, const Expression *cond)
 
 IR::V1Control::V1Control (ID n)
 
 IR::V1Control::V1Control (Util::SourceInfo si, ID n)
 
 IR::V1Control::V1Control (JSONLoader &json)
 
 IR::V1Control::V1Control (Util::SourceInfo srcInfo, ID name, const Vector< Expression > *code, const Annotations *annotations)
 
 IR::V1Control::V1Control (ID name, const Vector< Expression > *code, const Annotations *annotations)
 
 IR::v1HeaderType::v1HeaderType (Type_Struct const *m, Type_Header const *h=nullptr)
 
 IR::v1HeaderType::v1HeaderType (JSONLoader &json)
 
 IR::v1HeaderType::v1HeaderType (Util::SourceInfo srcInfo, ID name, const Type_Struct *as_metadata, const Type_Header *as_header)
 
 IR::v1HeaderType::v1HeaderType (ID name, const Type_Struct *as_metadata, const Type_Header *as_header)
 
 IR::V1Parser::V1Parser (JSONLoader &json)
 
 IR::V1Parser::V1Parser (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::V1Parser::V1Parser (ID name, const Annotations *annotations)
 
 IR::V1Parser::V1Parser (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::V1Parser::V1Parser (const Annotations *annotations)
 
 IR::V1Program::V1Program (CompilerOptions const &options)
 
 IR::V1Program::V1Program (JSONLoader &json)
 
 IR::V1Table::V1Table (JSONLoader &json)
 
 IR::V1Table::V1Table (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 IR::V1Table::V1Table (ID name, const Annotations *annotations)
 
 IR::V1Table::V1Table (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 IR::V1Table::V1Table (const Annotations *annotations)
 
 IR::V1Table::V1Table (Util::SourceInfo srcInfo, ID name)
 
 IR::V1Table::V1Table (ID name)
 
 IR::V1Table::V1Table (Util::SourceInfo srcInfo)
 
void IR::V1Program::add (cstring name, Node const *n)
 
void IR::V1Table::addProperty (const Property *prop)
 
const ActionArg * IR::ActionFunction::arg (cstring n) const
 
int IR::Constant::asInt () const
 
long IR::Constant::asLong () const
 
const Expression * IR::HeaderStackItemRef::base () const
 
virtual const HeaderOrMetadata * IR::HeaderRef::baseRef () const =0
 
const HeaderOrMetadata * IR::ConcreteHeaderRef::baseRef () const override
 
const HeaderOrMetadata * IR::HeaderStackItemRef::baseRef () const override
 
void IR::P4Parser::checkDuplicates () const
 
Attached * IR::Attached::clone_rename (char const *ext) const
 
void IR::Neg::dbprint (std::ostream &out) const override
 
void IR::Cmpl::dbprint (std::ostream &out) const override
 
void IR::LNot::dbprint (std::ostream &out) const override
 
void IR::Mul::dbprint (std::ostream &out) const override
 
void IR::Div::dbprint (std::ostream &out) const override
 
void IR::Mod::dbprint (std::ostream &out) const override
 
void IR::Add::dbprint (std::ostream &out) const override
 
void IR::Sub::dbprint (std::ostream &out) const override
 
void IR::Shl::dbprint (std::ostream &out) const override
 
void IR::Shr::dbprint (std::ostream &out) const override
 
void IR::Equ::dbprint (std::ostream &out) const override
 
void IR::Neq::dbprint (std::ostream &out) const override
 
void IR::Lss::dbprint (std::ostream &out) const override
 
void IR::Leq::dbprint (std::ostream &out) const override
 
void IR::Grt::dbprint (std::ostream &out) const override
 
void IR::Geq::dbprint (std::ostream &out) const override
 
void IR::BAnd::dbprint (std::ostream &out) const override
 
void IR::BOr::dbprint (std::ostream &out) const override
 
void IR::BXor::dbprint (std::ostream &out) const override
 
void IR::LAnd::dbprint (std::ostream &out) const override
 
void IR::LOr::dbprint (std::ostream &out) const override
 
void IR::Constant::dbprint (std::ostream &out) const override
 
void IR::BoolLiteral::dbprint (std::ostream &out) const override
 
void IR::StringLiteral::dbprint (std::ostream &out) const override
 
void IR::PathExpression::dbprint (std::ostream &out) const override
 
void IR::TypeNameExpression::dbprint (std::ostream &out) const override
 
void IR::Slice::dbprint (std::ostream &out) const override
 
void IR::Member::dbprint (std::ostream &out) const override
 
void IR::Concat::dbprint (std::ostream &out) const override
 
void IR::ArrayIndex::dbprint (std::ostream &out) const override
 
void IR::Range::dbprint (std::ostream &out) const override
 
void IR::Mask::dbprint (std::ostream &out) const override
 
void IR::Mux::dbprint (std::ostream &out) const override
 
void IR::DefaultExpression::dbprint (std::ostream &out) const override
 
void IR::This::dbprint (std::ostream &out) const override
 
void IR::Cast::dbprint (std::ostream &out) const override
 
void IR::SelectCase::dbprint (std::ostream &out) const override
 
void IR::SelectExpression::dbprint (std::ostream &out) const override
 
void IR::MethodCallExpression::dbprint (std::ostream &out) const override
 
void IR::ConstructorCallExpression::dbprint (std::ostream &out) const override
 
void IR::ListExpression::dbprint (std::ostream &out) const override
 
void IR::ParserState::dbprint (std::ostream &out) const override
 
void IR::P4Parser::dbprint (std::ostream &out) const override
 
void IR::P4Control::dbprint (std::ostream &out) const override
 
void IR::P4Action::dbprint (std::ostream &out) const override
 
void IR::Type_Error::dbprint (std::ostream &out) const override
 
void IR::Declaration_MatchKind::dbprint (std::ostream &out) const override
 
void IR::ExpressionValue::dbprint (std::ostream &out) const override
 
void IR::ExpressionListValue::dbprint (std::ostream &out) const override
 
void IR::ActionListElement::dbprint (std::ostream &out) const override
 
void IR::ActionList::dbprint (std::ostream &out) const override
 
void IR::KeyElement::dbprint (std::ostream &out) const override
 
void IR::Key::dbprint (std::ostream &out) const override
 
void IR::Entry::dbprint (std::ostream &out) const override
 
void IR::EntriesList::dbprint (std::ostream &out) const override
 
void IR::Property::dbprint (std::ostream &out) const override
 
void IR::P4Table::dbprint (std::ostream &out) const override
 
void IR::Declaration_Variable::dbprint (std::ostream &out) const override
 
void IR::Declaration_Constant::dbprint (std::ostream &out) const override
 
void IR::Declaration_Instance::dbprint (std::ostream &out) const override
 
void IR::P4Program::dbprint (std::ostream &out) const override
 
void IR::ExitStatement::dbprint (std::ostream &out) const override
 
void IR::ReturnStatement::dbprint (std::ostream &out) const override
 
void IR::EmptyStatement::dbprint (std::ostream &out) const override
 
void IR::AssignmentStatement::dbprint (std::ostream &out) const override
 
void IR::IfStatement::dbprint (std::ostream &out) const override
 
void IR::BlockStatement::dbprint (std::ostream &out) const override
 
void IR::MethodCallStatement::dbprint (std::ostream &out) const override
 
void IR::SwitchStatement::dbprint (std::ostream &out) const override
 
void IR::Function::dbprint (std::ostream &out) const override
 
virtual void IR::Block::dbprint (std::ostream &out) const override
 
virtual void IR::InstantiatedBlock::dbprint (std::ostream &out) const override
 
void IR::Type_Block::dbprint (std::ostream &out) const override
 
void IR::Type_Counter::dbprint (std::ostream &out) const override
 
void IR::Type_Expression::dbprint (std::ostream &out) const override
 
void IR::Type_FieldListCalculation::dbprint (std::ostream &out) const override
 
void IR::Type_Meter::dbprint (std::ostream &out) const override
 
void IR::Type_Register::dbprint (std::ostream &out) const override
 
void IR::Type_AnyTable::dbprint (std::ostream &out) const override
 
void IR::HeaderOrMetadata::dbprint (std::ostream &out) const override
 
void IR::ConcreteHeaderRef::dbprint (std::ostream &out) const override
 
void IR::HeaderStackItemRef::dbprint (std::ostream &out) const override
 
void IR::If::dbprint (std::ostream &out) const override
 
void IR::Apply::dbprint (std::ostream &out) const override
 
void IR::Primitive::dbprint (std::ostream &out) const override
 
void IR::FieldList::dbprint (std::ostream &out) const override
 
void IR::FieldListCalculation::dbprint (std::ostream &out) const override
 
void IR::CalculatedField::dbprint (std::ostream &out) const override
 
void IR::CaseEntry::dbprint (std::ostream &out) const override
 
void IR::V1Parser::dbprint (std::ostream &out) const override
 
void IR::ParserException::dbprint (std::ostream &out) const override
 
void IR::Attached::dbprint (std::ostream &out) const override
 
void IR::Counter::dbprint (std::ostream &out) const override
 
void IR::Meter::dbprint (std::ostream &out) const override
 
void IR::Register::dbprint (std::ostream &out) const override
 
void IR::PrimitiveAction::dbprint (std::ostream &out) const override
 
void IR::NameList::dbprint (std::ostream &out) const override
 
void IR::ActionArg::dbprint (std::ostream &out) const override
 
void IR::ActionFunction::dbprint (std::ostream &out) const override
 
void IR::ActionProfile::dbprint (std::ostream &out) const override
 
void IR::ActionSelector::dbprint (std::ostream &out) const override
 
void IR::V1Table::dbprint (std::ostream &out) const override
 
void IR::V1Control::dbprint (std::ostream &out) const override
 
void IR::GlobalRef::dbprint (std::ostream &out) const override
 
void IR::AttributeRef::dbprint (std::ostream &out) const override
 
void IR::V1Program::dbprint (std::ostream &out) const override
 
void IR::v1HeaderType::dbprint (std::ostream &out) const override
 
virtual void IR::Block::dbprint_recursive (std::ostream &out) const
 
void IR::Constant::dump_fields (std::ostream &out) const override
 
void IR::BoolLiteral::dump_fields (std::ostream &out) const override
 
void IR::StringLiteral::dump_fields (std::ostream &out) const override
 
void IR::Member::dump_fields (std::ostream &out) const override
 
void IR::This::dump_fields (std::ostream &out) const override
 
void IR::Property::dump_fields (std::ostream &out) const override
 
void IR::HeaderOrMetadata::dump_fields (std::ostream &out) const override
 
void IR::HeaderStack::dump_fields (std::ostream &out) const override
 
void IR::NamedCond::dump_fields (std::ostream &out) const override
 
void IR::Apply::dump_fields (std::ostream &out) const override
 
void IR::Primitive::dump_fields (std::ostream &out) const override
 
void IR::FieldList::dump_fields (std::ostream &out) const override
 
void IR::FieldListCalculation::dump_fields (std::ostream &out) const override
 
void IR::CaseEntry::dump_fields (std::ostream &out) const override
 
void IR::V1Parser::dump_fields (std::ostream &out) const override
 
void IR::Attached::dump_fields (std::ostream &out) const override
 
void IR::Stateful::dump_fields (std::ostream &out) const override
 
void IR::CounterOrMeter::dump_fields (std::ostream &out) const override
 
void IR::Counter::dump_fields (std::ostream &out) const override
 
void IR::Meter::dump_fields (std::ostream &out) const override
 
void IR::Register::dump_fields (std::ostream &out) const override
 
void IR::NameList::dump_fields (std::ostream &out) const override
 
void IR::ActionArg::dump_fields (std::ostream &out) const override
 
void IR::ActionFunction::dump_fields (std::ostream &out) const override
 
void IR::ActionProfile::dump_fields (std::ostream &out) const override
 
void IR::ActionSelector::dump_fields (std::ostream &out) const override
 
void IR::V1Table::dump_fields (std::ostream &out) const override
 
void IR::V1Control::dump_fields (std::ostream &out) const override
 
void IR::AttribLocal::dump_fields (std::ostream &out) const override
 
void IR::Attribute::dump_fields (std::ostream &out) const override
 
void IR::AttributeRef::dump_fields (std::ostream &out) const override
 
void IR::v1HeaderType::dump_fields (std::ostream &out) const override
 
void IR::IntMod::dump_fields (std::ostream &out) const override
 
bool IR::Constant::fitsInt () const
 
bool IR::Constant::fitsLong () const
 
static IR::NodeIR::Neg::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Cmpl::fromJSON (JSONLoader &json)
 
static IR::NodeIR::LNot::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Mul::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Div::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Mod::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Add::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Sub::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Shl::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Shr::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Equ::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Neq::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Lss::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Leq::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Grt::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Geq::fromJSON (JSONLoader &json)
 
static IR::NodeIR::BAnd::fromJSON (JSONLoader &json)
 
static IR::NodeIR::BOr::fromJSON (JSONLoader &json)
 
static IR::NodeIR::BXor::fromJSON (JSONLoader &json)
 
static IR::NodeIR::LAnd::fromJSON (JSONLoader &json)
 
static IR::NodeIR::LOr::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Constant::fromJSON (JSONLoader &json)
 
static IR::NodeIR::BoolLiteral::fromJSON (JSONLoader &json)
 
static IR::NodeIR::StringLiteral::fromJSON (JSONLoader &json)
 
static IR::NodeIR::PathExpression::fromJSON (JSONLoader &json)
 
static IR::NodeIR::TypeNameExpression::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Slice::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Member::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Concat::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ArrayIndex::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Range::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Mask::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Mux::fromJSON (JSONLoader &json)
 
static IR::NodeIR::DefaultExpression::fromJSON (JSONLoader &json)
 
static IR::NodeIR::This::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Cast::fromJSON (JSONLoader &json)
 
static IR::NodeIR::SelectCase::fromJSON (JSONLoader &json)
 
static IR::NodeIR::SelectExpression::fromJSON (JSONLoader &json)
 
static IR::NodeIR::MethodCallExpression::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ConstructorCallExpression::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ListExpression::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ParserState::fromJSON (JSONLoader &json)
 
static IR::NodeIR::P4Parser::fromJSON (JSONLoader &json)
 
static IR::NodeIR::P4Control::fromJSON (JSONLoader &json)
 
static IR::NodeIR::P4Action::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Type_Error::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Declaration_MatchKind::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ExpressionValue::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ExpressionListValue::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ActionListElement::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ActionList::fromJSON (JSONLoader &json)
 
static IR::NodeIR::KeyElement::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Key::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Entry::fromJSON (JSONLoader &json)
 
static IR::NodeIR::EntriesList::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Property::fromJSON (JSONLoader &json)
 
static IR::NodeIR::TableProperties::fromJSON (JSONLoader &json)
 
static IR::NodeIR::P4Table::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Declaration_Variable::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Declaration_Constant::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Declaration_Instance::fromJSON (JSONLoader &json)
 
static IR::NodeIR::P4Program::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ExitStatement::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ReturnStatement::fromJSON (JSONLoader &json)
 
static IR::NodeIR::EmptyStatement::fromJSON (JSONLoader &json)
 
static IR::NodeIR::AssignmentStatement::fromJSON (JSONLoader &json)
 
static IR::NodeIR::IfStatement::fromJSON (JSONLoader &json)
 
static IR::NodeIR::BlockStatement::fromJSON (JSONLoader &json)
 
static IR::NodeIR::MethodCallStatement::fromJSON (JSONLoader &json)
 
static IR::NodeIR::SwitchCase::fromJSON (JSONLoader &json)
 
static IR::NodeIR::SwitchStatement::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Function::fromJSON (JSONLoader &json)
 
static IR::NodeIR::TableBlock::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ParserBlock::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ControlBlock::fromJSON (JSONLoader &json)
 
static IR::NodeIR::PackageBlock::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ExternBlock::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ToplevelBlock::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Type_Block::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Type_Counter::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Type_Expression::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Type_FieldListCalculation::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Type_Meter::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Type_Register::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Type_AnyTable::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Header::fromJSON (JSONLoader &json)
 
static IR::NodeIR::HeaderStack::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Metadata::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ConcreteHeaderRef::fromJSON (JSONLoader &json)
 
static IR::NodeIR::HeaderStackItemRef::fromJSON (JSONLoader &json)
 
static IR::NodeIR::If::fromJSON (JSONLoader &json)
 
static IR::NodeIR::NamedCond::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Apply::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Primitive::fromJSON (JSONLoader &json)
 
static IR::NodeIR::FieldList::fromJSON (JSONLoader &json)
 
static IR::NodeIR::FieldListCalculation::fromJSON (JSONLoader &json)
 
static IR::CalculatedField::update_or_verifyIR::CalculatedField::update_or_verify::fromJSON (JSONLoader &json)
 
static IR::NodeIR::CalculatedField::fromJSON (JSONLoader &json)
 
static IR::NodeIR::CaseEntry::fromJSON (JSONLoader &json)
 
static IR::NodeIR::V1Parser::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ParserException::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Counter::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Meter::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Register::fromJSON (JSONLoader &json)
 
static IR::NodeIR::PrimitiveAction::fromJSON (JSONLoader &json)
 
static IR::NodeIR::NameList::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ActionArg::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ActionFunction::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ActionProfile::fromJSON (JSONLoader &json)
 
static IR::NodeIR::ActionSelector::fromJSON (JSONLoader &json)
 
static IR::NodeIR::V1Table::fromJSON (JSONLoader &json)
 
static IR::NodeIR::V1Control::fromJSON (JSONLoader &json)
 
static IR::NodeIR::AttribLocal::fromJSON (JSONLoader &json)
 
static IR::NodeIR::AttribLocals::fromJSON (JSONLoader &json)
 
static IR::NodeIR::Attribute::fromJSON (JSONLoader &json)
 
static IR::NodeIR::GlobalRef::fromJSON (JSONLoader &json)
 
static IR::NodeIR::AttributeRef::fromJSON (JSONLoader &json)
 
static IR::NodeIR::V1Program::fromJSON (JSONLoader &json)
 
static IR::NodeIR::v1HeaderType::fromJSON (JSONLoader &json)
 
static IR::NodeIR::IntMod::fromJSON (JSONLoader &json)
 
static const Type_Block * IR::Type_Block::get ()
 
static const Type_Counter * IR::Type_Counter::get ()
 
static const Type_Expression * IR::Type_Expression::get ()
 
static const Type_FieldListCalculation * IR::Type_FieldListCalculation::get ()
 
static const Type_Meter * IR::Type_Meter::get ()
 
static const Type_Register * IR::Type_Register::get ()
 
static const Type_AnyTable * IR::Type_AnyTable::get ()
 
template<class T >
const T * IR::V1Program::get (cstring name) const
 
const Expression * IR::Entry::getAction () const
 
const ActionList * IR::P4Table::getActionList () const
 
const Annotations * IR::ParserState::getAnnotations () const override
 
const Annotations * IR::P4Action::getAnnotations () const override
 
const Annotations * IR::ActionListElement::getAnnotations () const override
 
const Annotations * IR::Entry::getAnnotations () const override
 
const Annotations * IR::Property::getAnnotations () const override
 
const Annotations * IR::P4Table::getAnnotations () const override
 
const Annotations * IR::Declaration_Variable::getAnnotations () const override
 
const Annotations * IR::Declaration_Constant::getAnnotations () const override
 
const Annotations * IR::Declaration_Instance::getAnnotations () const override
 
const Type_Method * IR::P4Parser::getApplyMethodType () const override
 
const Type_Method * IR::P4Control::getApplyMethodType () const override
 
const Type_Method * IR::P4Table::getApplyMethodType () const override
 
const Constant * IR::P4Table::getConstantProperty (cstring name) const
 
const Type_Method * IR::P4Parser::getConstructorMethodType () const override
 The type of the constructor as a method.
 
const Type_Method * IR::P4Control::getConstructorMethodType () const override
 The type of the constructor as a method.
 
const ParameterList * IR::P4Parser::getConstructorParameters () const override
 
const ParameterList * IR::P4Control::getConstructorParameters () const override
 
virtual const ParameterList * IR::InstantiatedBlock::getConstructorParameters () const =0
 
const ParameterList * IR::ParserBlock::getConstructorParameters () const override
 
const ParameterList * IR::ControlBlock::getConstructorParameters () const override
 
const ParameterList * IR::PackageBlock::getConstructorParameters () const override
 
const ParameterList * IR::ExternBlock::getConstructorParameters () const override
 
Util::Enumerator< const IDeclaration * > * IR::ParserState::getDeclarations () const override
 
Util::Enumerator< const IDeclaration * > * IR::P4Parser::getDeclarations () const override
 
Util::Enumerator< const IDeclaration * > * IR::P4Control::getDeclarations () const override
 
Util::Enumerator< const IDeclaration * > * IR::P4Action::getDeclarations () const override
 
Util::Enumerator< const IDeclaration * > * IR::Type_Error::getDeclarations () const override
 
Util::Enumerator< const IDeclaration * > * IR::Declaration_MatchKind::getDeclarations () const override
 
Util::Enumerator< const IDeclaration * > * IR::TableProperties::getDeclarations () const override
 
Util::Enumerator< const IDeclaration * > * IR::P4Program::getDeclarations () const override
 
Util::Enumerator< const IDeclaration * > * IR::BlockStatement::getDeclarations () const override
 
Util::Enumerator< const IDeclaration * > * IR::AttribLocals::getDeclarations () const override
 
IDeclaration const * IR::ParserState::getDeclByName (cstring name) const override
 
const IDeclaration * IR::P4Parser::getDeclByName (cstring name) const override
 
const IDeclaration * IR::P4Control::getDeclByName (cstring name) const override
 
const IDeclaration * IR::P4Action::getDeclByName (cstring name) const override
 
const IDeclaration * IR::Type_Error::getDeclByName (cstring name) const override
 
const IDeclaration * IR::Declaration_MatchKind::getDeclByName (cstring name) const override
 
const IDeclaration * IR::TableProperties::getDeclByName (cstring name) const override
 
const IDeclaration * IR::P4Program::getDeclByName (cstring name) const override
 
const IDeclaration * IR::BlockStatement::getDeclByName (cstring name) const override
 
const IDeclaration * IR::AttribLocals::getDeclByName (cstring name) const override
 
const Expression * IR::P4Table::getDefaultAction () const
 
const EntriesList * IR::P4Table::getEntries () const
 
int IR::Slice::getH () const
 
const Key * IR::P4Table::getKey () const
 
const ListExpression * IR::Entry::getKeys () const
 
int IR::Slice::getL () const
 
const PackageBlock * IR::ToplevelBlock::getMain () const
 
static Constant IR::Constant::GetMask (unsigned width)
 
ID IR::ActionListElement::getName () const override
 
ID IR::AttribLocal::getName () const override
 
const CompileTimeValue * IR::InstantiatedBlock::getParameterValue (cstring paramName) const
 
const Path * IR::ActionListElement::getPath () const
 
int IR::Operation_Unary::getPrecedence () const override
 
int IR::Mul::getPrecedence () const override
 
int IR::Div::getPrecedence () const override
 
int IR::Mod::getPrecedence () const override
 
int IR::Add::getPrecedence () const override
 
int IR::Sub::getPrecedence () const override
 
int IR::Shl::getPrecedence () const override
 
int IR::Shr::getPrecedence () const override
 
int IR::Equ::getPrecedence () const override
 
int IR::Neq::getPrecedence () const override
 
int IR::Lss::getPrecedence () const override
 
int IR::Leq::getPrecedence () const override
 
int IR::Grt::getPrecedence () const override
 
int IR::Geq::getPrecedence () const override
 
int IR::BAnd::getPrecedence () const override
 
int IR::BOr::getPrecedence () const override
 
int IR::BXor::getPrecedence () const override
 
int IR::LAnd::getPrecedence () const override
 
int IR::LOr::getPrecedence () const override
 
int IR::Slice::getPrecedence () const override
 
int IR::Concat::getPrecedence () const override
 
int IR::ArrayIndex::getPrecedence () const override
 
int IR::Range::getPrecedence () const override
 
int IR::Mask::getPrecedence () const override
 
int IR::Mux::getPrecedence () const override
 
int IR::Cast::getPrecedence () const override
 
int IR::Primitive::getPrecedence () const override
 
int IR::IntMod::getPrecedence () const override
 
const P4Program * IR::ToplevelBlock::getProgram () const
 
const Property * IR::TableProperties::getProperty (cstring name) const
 
cstring IR::Neg::getStringOp () const override
 
cstring IR::Cmpl::getStringOp () const override
 
cstring IR::LNot::getStringOp () const override
 
cstring IR::Mul::getStringOp () const override
 
cstring IR::Div::getStringOp () const override
 
cstring IR::Mod::getStringOp () const override
 
cstring IR::Add::getStringOp () const override
 
cstring IR::Sub::getStringOp () const override
 
cstring IR::Shl::getStringOp () const override
 
cstring IR::Shr::getStringOp () const override
 
cstring IR::Equ::getStringOp () const override
 
cstring IR::Neq::getStringOp () const override
 
cstring IR::Lss::getStringOp () const override
 
cstring IR::Leq::getStringOp () const override
 
cstring IR::Grt::getStringOp () const override
 
cstring IR::Geq::getStringOp () const override
 
cstring IR::BAnd::getStringOp () const override
 
cstring IR::BOr::getStringOp () const override
 
cstring IR::BXor::getStringOp () const override
 
cstring IR::LAnd::getStringOp () const override
 
cstring IR::LOr::getStringOp () const override
 
cstring IR::Slice::getStringOp () const override
 
cstring IR::Member::getStringOp () const override
 
cstring IR::Concat::getStringOp () const override
 
cstring IR::ArrayIndex::getStringOp () const override
 
cstring IR::Range::getStringOp () const override
 
cstring IR::Mask::getStringOp () const override
 
cstring IR::Mux::getStringOp () const override
 
cstring IR::Cast::getStringOp () const override
 
cstring IR::Primitive::getStringOp () const override
 
cstring IR::IntMod::getStringOp () const override
 
const Type * IR::Declaration_Instance::getType () const override
 
const Type * IR::Attached::getType () const override
 
Type const * IR::Counter::getType () const override
 
const Type * IR::Meter::getType () const override
 
const Type * IR::Register::getType () const override
 
const TypeParameters * IR::P4Parser::getTypeParameters () const override
 
const TypeParameters * IR::P4Control::getTypeParameters () const override
 
const CompileTimeValue * IR::Block::getValue (const Node *node) const
 
void IR::Constant::handleOverflow (bool noWarning)
 
const Expression * IR::HeaderStackItemRef::index () const
 
virtual bool IR::Attached::indexed () const
 
virtual bool IR::Stateful::indexed () const override
 
bool IR::ActionProfile::indexed () const override
 
virtual const Type * IR::Primitive::inferOperandType (int operand) const
 
virtual unsigned IR::Primitive::inferOperandTypes () const
 
void IR::InstantiatedBlock::instantiate (std::vector< const CompileTimeValue * > *args)
 
bool IR::ParserState::isBuiltin () const
 
virtual bool IR::Primitive::isOutput (int operand_index) const
 
virtual char const * IR::Attached::kind () const =0
 
char const * IR::Counter::kind () const override
 
char const * IR::Meter::kind () const override
 
char const * IR::Register::kind () const override
 
char const * IR::ActionProfile::kind () const override
 
char const * IR::ActionSelector::kind () const override
 
int IR::Member::lsb () const
 
int IR::Member::msb () const
 
cstring IR::Declaration_Instance::Name () const override
 
cstring IR::Attached::Name () const override
 
cstring IR::Operation_Unary::node_type_name () const override
 
cstring IR::Neg::node_type_name () const override
 
cstring IR::Cmpl::node_type_name () const override
 
cstring IR::LNot::node_type_name () const override
 
cstring IR::Operation_Binary::node_type_name () const override
 
cstring IR::Operation_Ternary::node_type_name () const override
 
cstring IR::Operation_Relation::node_type_name () const override
 
cstring IR::Mul::node_type_name () const override
 
cstring IR::Div::node_type_name () const override
 
cstring IR::Mod::node_type_name () const override
 
cstring IR::Add::node_type_name () const override
 
cstring IR::Sub::node_type_name () const override
 
cstring IR::Shl::node_type_name () const override
 
cstring IR::Shr::node_type_name () const override
 
cstring IR::Equ::node_type_name () const override
 
cstring IR::Neq::node_type_name () const override
 
cstring IR::Lss::node_type_name () const override
 
cstring IR::Leq::node_type_name () const override
 
cstring IR::Grt::node_type_name () const override
 
cstring IR::Geq::node_type_name () const override
 
cstring IR::BAnd::node_type_name () const override
 
cstring IR::BOr::node_type_name () const override
 
cstring IR::BXor::node_type_name () const override
 
cstring IR::LAnd::node_type_name () const override
 
cstring IR::LOr::node_type_name () const override
 
cstring IR::Literal::node_type_name () const override
 
cstring IR::Constant::node_type_name () const override
 
cstring IR::BoolLiteral::node_type_name () const override
 
cstring IR::StringLiteral::node_type_name () const override
 
cstring IR::PathExpression::node_type_name () const override
 
cstring IR::TypeNameExpression::node_type_name () const override
 
cstring IR::Slice::node_type_name () const override
 
cstring IR::Member::node_type_name () const override
 
cstring IR::Concat::node_type_name () const override
 
cstring IR::ArrayIndex::node_type_name () const override
 
cstring IR::Range::node_type_name () const override
 
cstring IR::Mask::node_type_name () const override
 
cstring IR::Mux::node_type_name () const override
 
cstring IR::DefaultExpression::node_type_name () const override
 
cstring IR::This::node_type_name () const override
 
cstring IR::Cast::node_type_name () const override
 
cstring IR::SelectCase::node_type_name () const override
 
cstring IR::SelectExpression::node_type_name () const override
 
cstring IR::MethodCallExpression::node_type_name () const override
 
cstring IR::ConstructorCallExpression::node_type_name () const override
 
cstring IR::ListExpression::node_type_name () const override
 
cstring IR::ParserState::node_type_name () const override
 
cstring IR::P4Parser::node_type_name () const override
 
cstring IR::P4Control::node_type_name () const override
 
cstring IR::P4Action::node_type_name () const override
 
cstring IR::Type_Error::node_type_name () const override
 
cstring IR::Declaration_MatchKind::node_type_name () const override
 
cstring IR::PropertyValue::node_type_name () const override
 
cstring IR::ExpressionValue::node_type_name () const override
 
cstring IR::ExpressionListValue::node_type_name () const override
 
cstring IR::ActionListElement::node_type_name () const override
 
cstring IR::ActionList::node_type_name () const override
 
cstring IR::KeyElement::node_type_name () const override
 
cstring IR::Key::node_type_name () const override
 
cstring IR::Entry::node_type_name () const override
 
cstring IR::EntriesList::node_type_name () const override
 
cstring IR::Property::node_type_name () const override
 
cstring IR::TableProperties::node_type_name () const override
 
cstring IR::P4Table::node_type_name () const override
 
cstring IR::Declaration_Variable::node_type_name () const override
 
cstring IR::Declaration_Constant::node_type_name () const override
 
cstring IR::Declaration_Instance::node_type_name () const override
 
cstring IR::P4Program::node_type_name () const override
 
cstring IR::Statement::node_type_name () const override
 
cstring IR::ExitStatement::node_type_name () const override
 
cstring IR::ReturnStatement::node_type_name () const override
 
cstring IR::EmptyStatement::node_type_name () const override
 
cstring IR::AssignmentStatement::node_type_name () const override
 
cstring IR::IfStatement::node_type_name () const override
 
cstring IR::BlockStatement::node_type_name () const override
 
cstring IR::MethodCallStatement::node_type_name () const override
 
cstring IR::SwitchCase::node_type_name () const override
 
cstring IR::SwitchStatement::node_type_name () const override
 
cstring IR::Function::node_type_name () const override
 
cstring IR::Block::node_type_name () const override
 
cstring IR::TableBlock::node_type_name () const override
 
cstring IR::InstantiatedBlock::node_type_name () const override
 
cstring IR::ParserBlock::node_type_name () const override
 
cstring IR::ControlBlock::node_type_name () const override
 
cstring IR::PackageBlock::node_type_name () const override
 
cstring IR::ExternBlock::node_type_name () const override
 
cstring IR::ToplevelBlock::node_type_name () const override
 
cstring IR::Type_Block::node_type_name () const override
 
cstring IR::Type_Counter::node_type_name () const override
 
cstring IR::Type_Expression::node_type_name () const override
 
cstring IR::Type_FieldListCalculation::node_type_name () const override
 
cstring IR::Type_Meter::node_type_name () const override
 
cstring IR::Type_Register::node_type_name () const override
 
cstring IR::Type_AnyTable::node_type_name () const override
 
cstring IR::HeaderOrMetadata::node_type_name () const override
 
cstring IR::Header::node_type_name () const override
 
cstring IR::HeaderStack::node_type_name () const override
 
cstring IR::Metadata::node_type_name () const override
 
cstring IR::HeaderRef::node_type_name () const override
 
cstring IR::ConcreteHeaderRef::node_type_name () const override
 
cstring IR::HeaderStackItemRef::node_type_name () const override
 
cstring IR::If::node_type_name () const override
 
cstring IR::NamedCond::node_type_name () const override
 
cstring IR::Apply::node_type_name () const override
 
cstring IR::Primitive::node_type_name () const override
 
cstring IR::FieldList::node_type_name () const override
 
cstring IR::FieldListCalculation::node_type_name () const override
 
cstring IR::CalculatedField::node_type_name () const override
 
cstring IR::CaseEntry::node_type_name () const override
 
cstring IR::V1Parser::node_type_name () const override
 
cstring IR::ParserException::node_type_name () const override
 
cstring IR::Attached::node_type_name () const override
 
cstring IR::Stateful::node_type_name () const override
 
cstring IR::CounterOrMeter::node_type_name () const override
 
cstring IR::Counter::node_type_name () const override
 
cstring IR::Meter::node_type_name () const override
 
cstring IR::Register::node_type_name () const override
 
cstring IR::PrimitiveAction::node_type_name () const override
 
cstring IR::NameList::node_type_name () const override
 
cstring IR::ActionArg::node_type_name () const override
 
cstring IR::ActionFunction::node_type_name () const override
 
cstring IR::ActionProfile::node_type_name () const override
 
cstring IR::ActionSelector::node_type_name () const override
 
cstring IR::V1Table::node_type_name () const override
 
cstring IR::V1Control::node_type_name () const override
 
cstring IR::AttribLocal::node_type_name () const override
 
cstring IR::AttribLocals::node_type_name () const override
 
cstring IR::Attribute::node_type_name () const override
 
cstring IR::GlobalRef::node_type_name () const override
 
cstring IR::AttributeRef::node_type_name () const override
 
cstring IR::V1Program::node_type_name () const override
 
cstring IR::v1HeaderType::node_type_name () const override
 
cstring IR::IntMod::node_type_name () const override
 
virtual int IR::Member::offset_bits () const
 
 IR::StringLiteral::operator IR::ID () const
 
Constant IR::Constant::operator& (const Constant &c) const
 
Constant IR::Constant::operator- (const Constant &c) const
 
Constant IR::Constant::operator- () const
 
std::ostream & operator<< (std::ostream &out, IR::Direction d)
 
Constant IR::Constant::operator<< (const unsigned &shift) const
 
std::ostream & operator<< (std::ostream &out, IR::CounterType d)
 
bool IR::Operation_Unary::operator== (IR::Operation_Unary const &a) const override
 
bool IR::Operation_Unary::operator== (IR::Operation const &a) const override
 
bool IR::Operation_Unary::operator== (IR::Expression const &a) const override
 
bool IR::Operation_Unary::operator== (IR::Node const &a) const override
 
bool IR::Neg::operator== (IR::Neg const &a) const override
 
bool IR::Neg::operator== (IR::Operation_Unary const &a) const override
 
bool IR::Neg::operator== (IR::Operation const &a) const override
 
bool IR::Neg::operator== (IR::Expression const &a) const override
 
bool IR::Neg::operator== (IR::Node const &a) const override
 
bool IR::Cmpl::operator== (IR::Cmpl const &a) const override
 
bool IR::Cmpl::operator== (IR::Operation_Unary const &a) const override
 
bool IR::Cmpl::operator== (IR::Operation const &a) const override
 
bool IR::Cmpl::operator== (IR::Expression const &a) const override
 
bool IR::Cmpl::operator== (IR::Node const &a) const override
 
bool IR::LNot::operator== (IR::LNot const &a) const override
 
bool IR::LNot::operator== (IR::Operation_Unary const &a) const override
 
bool IR::LNot::operator== (IR::Operation const &a) const override
 
bool IR::LNot::operator== (IR::Expression const &a) const override
 
bool IR::LNot::operator== (IR::Node const &a) const override
 
bool IR::Operation_Binary::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Operation_Binary::operator== (IR::Operation const &a) const override
 
bool IR::Operation_Binary::operator== (IR::Expression const &a) const override
 
bool IR::Operation_Binary::operator== (IR::Node const &a) const override
 
bool IR::Operation_Ternary::operator== (IR::Operation_Ternary const &a) const override
 
bool IR::Operation_Ternary::operator== (IR::Operation const &a) const override
 
bool IR::Operation_Ternary::operator== (IR::Expression const &a) const override
 
bool IR::Operation_Ternary::operator== (IR::Node const &a) const override
 
bool IR::Operation_Relation::operator== (IR::Operation_Relation const &a) const override
 
bool IR::Operation_Relation::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Operation_Relation::operator== (IR::Operation const &a) const override
 
bool IR::Operation_Relation::operator== (IR::Expression const &a) const override
 
bool IR::Operation_Relation::operator== (IR::Node const &a) const override
 
bool IR::Mul::operator== (IR::Mul const &a) const override
 
bool IR::Mul::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Mul::operator== (IR::Operation const &a) const override
 
bool IR::Mul::operator== (IR::Expression const &a) const override
 
bool IR::Mul::operator== (IR::Node const &a) const override
 
bool IR::Div::operator== (IR::Div const &a) const override
 
bool IR::Div::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Div::operator== (IR::Operation const &a) const override
 
bool IR::Div::operator== (IR::Expression const &a) const override
 
bool IR::Div::operator== (IR::Node const &a) const override
 
bool IR::Mod::operator== (IR::Mod const &a) const override
 
bool IR::Mod::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Mod::operator== (IR::Operation const &a) const override
 
bool IR::Mod::operator== (IR::Expression const &a) const override
 
bool IR::Mod::operator== (IR::Node const &a) const override
 
bool IR::Add::operator== (IR::Add const &a) const override
 
bool IR::Add::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Add::operator== (IR::Operation const &a) const override
 
bool IR::Add::operator== (IR::Expression const &a) const override
 
bool IR::Add::operator== (IR::Node const &a) const override
 
bool IR::Sub::operator== (IR::Sub const &a) const override
 
bool IR::Sub::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Sub::operator== (IR::Operation const &a) const override
 
bool IR::Sub::operator== (IR::Expression const &a) const override
 
bool IR::Sub::operator== (IR::Node const &a) const override
 
bool IR::Shl::operator== (IR::Shl const &a) const override
 
bool IR::Shl::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Shl::operator== (IR::Operation const &a) const override
 
bool IR::Shl::operator== (IR::Expression const &a) const override
 
bool IR::Shl::operator== (IR::Node const &a) const override
 
bool IR::Shr::operator== (IR::Shr const &a) const override
 
bool IR::Shr::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Shr::operator== (IR::Operation const &a) const override
 
bool IR::Shr::operator== (IR::Expression const &a) const override
 
bool IR::Shr::operator== (IR::Node const &a) const override
 
bool IR::Equ::operator== (IR::Equ const &a) const override
 
bool IR::Equ::operator== (IR::Operation_Relation const &a) const override
 
bool IR::Equ::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Equ::operator== (IR::Operation const &a) const override
 
bool IR::Equ::operator== (IR::Expression const &a) const override
 
bool IR::Equ::operator== (IR::Node const &a) const override
 
bool IR::Neq::operator== (IR::Neq const &a) const override
 
bool IR::Neq::operator== (IR::Operation_Relation const &a) const override
 
bool IR::Neq::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Neq::operator== (IR::Operation const &a) const override
 
bool IR::Neq::operator== (IR::Expression const &a) const override
 
bool IR::Neq::operator== (IR::Node const &a) const override
 
bool IR::Lss::operator== (IR::Lss const &a) const override
 
bool IR::Lss::operator== (IR::Operation_Relation const &a) const override
 
bool IR::Lss::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Lss::operator== (IR::Operation const &a) const override
 
bool IR::Lss::operator== (IR::Expression const &a) const override
 
bool IR::Lss::operator== (IR::Node const &a) const override
 
bool IR::Leq::operator== (IR::Leq const &a) const override
 
bool IR::Leq::operator== (IR::Operation_Relation const &a) const override
 
bool IR::Leq::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Leq::operator== (IR::Operation const &a) const override
 
bool IR::Leq::operator== (IR::Expression const &a) const override
 
bool IR::Leq::operator== (IR::Node const &a) const override
 
bool IR::Grt::operator== (IR::Grt const &a) const override
 
bool IR::Grt::operator== (IR::Operation_Relation const &a) const override
 
bool IR::Grt::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Grt::operator== (IR::Operation const &a) const override
 
bool IR::Grt::operator== (IR::Expression const &a) const override
 
bool IR::Grt::operator== (IR::Node const &a) const override
 
bool IR::Geq::operator== (IR::Geq const &a) const override
 
bool IR::Geq::operator== (IR::Operation_Relation const &a) const override
 
bool IR::Geq::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Geq::operator== (IR::Operation const &a) const override
 
bool IR::Geq::operator== (IR::Expression const &a) const override
 
bool IR::Geq::operator== (IR::Node const &a) const override
 
bool IR::BAnd::operator== (IR::BAnd const &a) const override
 
bool IR::BAnd::operator== (IR::Operation_Binary const &a) const override
 
bool IR::BAnd::operator== (IR::Operation const &a) const override
 
bool IR::BAnd::operator== (IR::Expression const &a) const override
 
bool IR::BAnd::operator== (IR::Node const &a) const override
 
bool IR::BOr::operator== (IR::BOr const &a) const override
 
bool IR::BOr::operator== (IR::Operation_Binary const &a) const override
 
bool IR::BOr::operator== (IR::Operation const &a) const override
 
bool IR::BOr::operator== (IR::Expression const &a) const override
 
bool IR::BOr::operator== (IR::Node const &a) const override
 
bool IR::BXor::operator== (IR::BXor const &a) const override
 
bool IR::BXor::operator== (IR::Operation_Binary const &a) const override
 
bool IR::BXor::operator== (IR::Operation const &a) const override
 
bool IR::BXor::operator== (IR::Expression const &a) const override
 
bool IR::BXor::operator== (IR::Node const &a) const override
 
bool IR::LAnd::operator== (IR::LAnd const &a) const override
 
bool IR::LAnd::operator== (IR::Operation_Binary const &a) const override
 
bool IR::LAnd::operator== (IR::Operation const &a) const override
 
bool IR::LAnd::operator== (IR::Expression const &a) const override
 
bool IR::LAnd::operator== (IR::Node const &a) const override
 
bool IR::LOr::operator== (IR::LOr const &a) const override
 
bool IR::LOr::operator== (IR::Operation_Binary const &a) const override
 
bool IR::LOr::operator== (IR::Operation const &a) const override
 
bool IR::LOr::operator== (IR::Expression const &a) const override
 
bool IR::LOr::operator== (IR::Node const &a) const override
 
bool IR::Literal::operator== (IR::Literal const &a) const override
 
bool IR::Literal::operator== (IR::Expression const &a) const override
 
bool IR::Literal::operator== (IR::Node const &a) const override
 
bool IR::Constant::operator== (IR::Constant const &a) const override
 
bool IR::Constant::operator== (IR::Literal const &a) const override
 
bool IR::Constant::operator== (IR::Expression const &a) const override
 
bool IR::Constant::operator== (IR::Node const &a) const override
 
bool IR::BoolLiteral::operator== (IR::BoolLiteral const &a) const override
 
bool IR::BoolLiteral::operator== (IR::Literal const &a) const override
 
bool IR::BoolLiteral::operator== (IR::Expression const &a) const override
 
bool IR::BoolLiteral::operator== (IR::Node const &a) const override
 
bool IR::StringLiteral::operator== (IR::StringLiteral const &a) const override
 
bool IR::StringLiteral::operator== (IR::Literal const &a) const override
 
bool IR::StringLiteral::operator== (IR::Expression const &a) const override
 
bool IR::StringLiteral::operator== (IR::Node const &a) const override
 
bool IR::PathExpression::operator== (IR::PathExpression const &a) const override
 
bool IR::PathExpression::operator== (IR::Expression const &a) const override
 
bool IR::PathExpression::operator== (IR::Node const &a) const override
 
bool IR::TypeNameExpression::operator== (IR::TypeNameExpression const &a) const override
 
bool IR::TypeNameExpression::operator== (IR::Expression const &a) const override
 
bool IR::TypeNameExpression::operator== (IR::Node const &a) const override
 
bool IR::Slice::operator== (IR::Slice const &a) const override
 
bool IR::Slice::operator== (IR::Operation_Ternary const &a) const override
 
bool IR::Slice::operator== (IR::Operation const &a) const override
 
bool IR::Slice::operator== (IR::Expression const &a) const override
 
bool IR::Slice::operator== (IR::Node const &a) const override
 
bool IR::Member::operator== (IR::Member const &a) const override
 
bool IR::Member::operator== (IR::Operation_Unary const &a) const override
 
bool IR::Member::operator== (IR::Operation const &a) const override
 
bool IR::Member::operator== (IR::Expression const &a) const override
 
bool IR::Member::operator== (IR::Node const &a) const override
 
bool IR::Concat::operator== (IR::Concat const &a) const override
 
bool IR::Concat::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Concat::operator== (IR::Operation const &a) const override
 
bool IR::Concat::operator== (IR::Expression const &a) const override
 
bool IR::Concat::operator== (IR::Node const &a) const override
 
bool IR::ArrayIndex::operator== (IR::ArrayIndex const &a) const override
 
bool IR::ArrayIndex::operator== (IR::Operation_Binary const &a) const override
 
bool IR::ArrayIndex::operator== (IR::Operation const &a) const override
 
bool IR::ArrayIndex::operator== (IR::Expression const &a) const override
 
bool IR::ArrayIndex::operator== (IR::Node const &a) const override
 
bool IR::Range::operator== (IR::Range const &a) const override
 
bool IR::Range::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Range::operator== (IR::Operation const &a) const override
 
bool IR::Range::operator== (IR::Expression const &a) const override
 
bool IR::Range::operator== (IR::Node const &a) const override
 
bool IR::Mask::operator== (IR::Mask const &a) const override
 
bool IR::Mask::operator== (IR::Operation_Binary const &a) const override
 
bool IR::Mask::operator== (IR::Operation const &a) const override
 
bool IR::Mask::operator== (IR::Expression const &a) const override
 
bool IR::Mask::operator== (IR::Node const &a) const override
 
bool IR::Mux::operator== (IR::Mux const &a) const override
 
bool IR::Mux::operator== (IR::Operation_Ternary const &a) const override
 
bool IR::Mux::operator== (IR::Operation const &a) const override
 
bool IR::Mux::operator== (IR::Expression const &a) const override
 
bool IR::Mux::operator== (IR::Node const &a) const override
 
bool IR::DefaultExpression::operator== (IR::DefaultExpression const &a) const override
 
bool IR::DefaultExpression::operator== (IR::Expression const &a) const override
 
bool IR::DefaultExpression::operator== (IR::Node const &a) const override
 
bool IR::This::operator== (IR::This const &a) const override
 
bool IR::This::operator== (IR::Expression const &a) const override
 
bool IR::This::operator== (IR::Node const &a) const override
 
bool IR::Cast::operator== (IR::Cast const &a) const override
 
bool IR::Cast::operator== (IR::Operation_Unary const &a) const override
 
bool IR::Cast::operator== (IR::Operation const &a) const override
 
bool IR::Cast::operator== (IR::Expression const &a) const override
 
bool IR::Cast::operator== (IR::Node const &a) const override
 
bool IR::SelectCase::operator== (IR::SelectCase const &a) const override
 
bool IR::SelectCase::operator== (IR::Node const &a) const override
 
bool IR::SelectExpression::operator== (IR::SelectExpression const &a) const override
 
bool IR::SelectExpression::operator== (IR::Expression const &a) const override
 
bool IR::SelectExpression::operator== (IR::Node const &a) const override
 
bool IR::MethodCallExpression::operator== (IR::MethodCallExpression const &a) const override
 
bool IR::MethodCallExpression::operator== (IR::Expression const &a) const override
 
bool IR::MethodCallExpression::operator== (IR::Node const &a) const override
 
bool IR::ConstructorCallExpression::operator== (IR::ConstructorCallExpression const &a) const override
 
bool IR::ConstructorCallExpression::operator== (IR::Expression const &a) const override
 
bool IR::ConstructorCallExpression::operator== (IR::Node const &a) const override
 
bool IR::ListExpression::operator== (IR::ListExpression const &a) const override
 
bool IR::ListExpression::operator== (IR::Expression const &a) const override
 
bool IR::ListExpression::operator== (IR::Node const &a) const override
 
bool IR::ParserState::operator== (IR::ParserState const &a) const override
 
bool IR::ParserState::operator== (IR::Declaration const &a) const override
 
bool IR::ParserState::operator== (IR::StatOrDecl const &a) const override
 
bool IR::ParserState::operator== (IR::Node const &a) const override
 
bool IR::P4Parser::operator== (IR::P4Parser const &a) const override
 
bool IR::P4Parser::operator== (IR::Type_Declaration const &a) const override
 
bool IR::P4Parser::operator== (IR::Type const &a) const override
 
bool IR::P4Parser::operator== (IR::Node const &a) const override
 
bool IR::P4Control::operator== (IR::P4Control const &a) const override
 
bool IR::P4Control::operator== (IR::Type_Declaration const &a) const override
 
bool IR::P4Control::operator== (IR::Type const &a) const override
 
bool IR::P4Control::operator== (IR::Node const &a) const override
 
bool IR::P4Action::operator== (IR::P4Action const &a) const override
 
bool IR::P4Action::operator== (IR::Declaration const &a) const override
 
bool IR::P4Action::operator== (IR::StatOrDecl const &a) const override
 
bool IR::P4Action::operator== (IR::Node const &a) const override
 
bool IR::Type_Error::operator== (IR::Type_Error const &a) const override
 
bool IR::Type_Error::operator== (IR::Type_Declaration const &a) const override
 
bool IR::Type_Error::operator== (IR::Type const &a) const override
 
bool IR::Type_Error::operator== (IR::Node const &a) const override
 
bool IR::Declaration_MatchKind::operator== (IR::Declaration_MatchKind const &a) const override
 
bool IR::Declaration_MatchKind::operator== (IR::Node const &a) const override
 
bool IR::PropertyValue::operator== (IR::PropertyValue const &a) const override
 
bool IR::PropertyValue::operator== (IR::Node const &a) const override
 
bool IR::ExpressionValue::operator== (IR::ExpressionValue const &a) const override
 
bool IR::ExpressionValue::operator== (IR::PropertyValue const &a) const override
 
bool IR::ExpressionValue::operator== (IR::Node const &a) const override
 
bool IR::ExpressionListValue::operator== (IR::ExpressionListValue const &a) const override
 
bool IR::ExpressionListValue::operator== (IR::PropertyValue const &a) const override
 
bool IR::ExpressionListValue::operator== (IR::Node const &a) const override
 
bool IR::ActionListElement::operator== (IR::ActionListElement const &a) const override
 
bool IR::ActionListElement::operator== (IR::Node const &a) const override
 
bool IR::ActionList::operator== (IR::ActionList const &a) const override
 
bool IR::ActionList::operator== (IR::PropertyValue const &a) const override
 
bool IR::ActionList::operator== (IR::Node const &a) const override
 
bool IR::KeyElement::operator== (IR::KeyElement const &a) const override
 
bool IR::KeyElement::operator== (IR::Node const &a) const override
 
bool IR::Key::operator== (IR::Key const &a) const override
 
bool IR::Key::operator== (IR::PropertyValue const &a) const override
 
bool IR::Key::operator== (IR::Node const &a) const override
 
bool IR::Entry::operator== (IR::Entry const &a) const override
 
bool IR::Entry::operator== (IR::Node const &a) const override
 
bool IR::EntriesList::operator== (IR::EntriesList const &a) const override
 
bool IR::EntriesList::operator== (IR::PropertyValue const &a) const override
 
bool IR::EntriesList::operator== (IR::Node const &a) const override
 
bool IR::Property::operator== (IR::Property const &a) const override
 
bool IR::Property::operator== (IR::Declaration const &a) const override
 
bool IR::Property::operator== (IR::StatOrDecl const &a) const override
 
bool IR::Property::operator== (IR::Node const &a) const override
 
bool IR::TableProperties::operator== (IR::TableProperties const &a) const override
 
bool IR::TableProperties::operator== (IR::Node const &a) const override
 
bool IR::P4Table::operator== (IR::P4Table const &a) const override
 
bool IR::P4Table::operator== (IR::Declaration const &a) const override
 
bool IR::P4Table::operator== (IR::StatOrDecl const &a) const override
 
bool IR::P4Table::operator== (IR::Node const &a) const override
 
bool IR::Declaration_Variable::operator== (IR::Declaration_Variable const &a) const override
 
bool IR::Declaration_Variable::operator== (IR::Declaration const &a) const override
 
bool IR::Declaration_Variable::operator== (IR::StatOrDecl const &a) const override
 
bool IR::Declaration_Variable::operator== (IR::Node const &a) const override
 
bool IR::Declaration_Constant::operator== (IR::Declaration_Constant const &a) const override
 
bool IR::Declaration_Constant::operator== (IR::Declaration const &a) const override
 
bool IR::Declaration_Constant::operator== (IR::StatOrDecl const &a) const override
 
bool IR::Declaration_Constant::operator== (IR::Node const &a) const override
 
bool IR::Declaration_Instance::operator== (IR::Declaration_Instance const &a) const override
 
bool IR::Declaration_Instance::operator== (IR::Declaration const &a) const override
 
bool IR::Declaration_Instance::operator== (IR::StatOrDecl const &a) const override
 
bool IR::Declaration_Instance::operator== (IR::Node const &a) const override
 
bool IR::P4Program::operator== (IR::P4Program const &a) const override
 
bool IR::P4Program::operator== (IR::Node const &a) const override
 
bool IR::Statement::operator== (IR::Statement const &a) const override
 
bool IR::Statement::operator== (IR::StatOrDecl const &a) const override
 
bool IR::Statement::operator== (IR::Node const &a) const override
 
bool IR::ExitStatement::operator== (IR::ExitStatement const &a) const override
 
bool IR::ExitStatement::operator== (IR::Statement const &a) const override
 
bool IR::ExitStatement::operator== (IR::StatOrDecl const &a) const override
 
bool IR::ExitStatement::operator== (IR::Node const &a) const override
 
bool IR::ReturnStatement::operator== (IR::ReturnStatement const &a) const override
 
bool IR::ReturnStatement::operator== (IR::Statement const &a) const override
 
bool IR::ReturnStatement::operator== (IR::StatOrDecl const &a) const override
 
bool IR::ReturnStatement::operator== (IR::Node const &a) const override
 
bool IR::EmptyStatement::operator== (IR::EmptyStatement const &a) const override
 
bool IR::EmptyStatement::operator== (IR::Statement const &a) const override
 
bool IR::EmptyStatement::operator== (IR::StatOrDecl const &a) const override
 
bool IR::EmptyStatement::operator== (IR::Node const &a) const override
 
bool IR::AssignmentStatement::operator== (IR::AssignmentStatement const &a) const override
 
bool IR::AssignmentStatement::operator== (IR::Statement const &a) const override
 
bool IR::AssignmentStatement::operator== (IR::StatOrDecl const &a) const override
 
bool IR::AssignmentStatement::operator== (IR::Node const &a) const override
 
bool IR::IfStatement::operator== (IR::IfStatement const &a) const override
 
bool IR::IfStatement::operator== (IR::Statement const &a) const override
 
bool IR::IfStatement::operator== (IR::StatOrDecl const &a) const override
 
bool IR::IfStatement::operator== (IR::Node const &a) const override
 
bool IR::BlockStatement::operator== (IR::BlockStatement const &a) const override
 
bool IR::BlockStatement::operator== (IR::Statement const &a) const override
 
bool IR::BlockStatement::operator== (IR::StatOrDecl const &a) const override
 
bool IR::BlockStatement::operator== (IR::Node const &a) const override
 
bool IR::MethodCallStatement::operator== (IR::MethodCallStatement const &a) const override
 
bool IR::MethodCallStatement::operator== (IR::Statement const &a) const override
 
bool IR::MethodCallStatement::operator== (IR::StatOrDecl const &a) const override
 
bool IR::MethodCallStatement::operator== (IR::Node const &a) const override
 
bool IR::SwitchCase::operator== (IR::SwitchCase const &a) const override
 
bool IR::SwitchCase::operator== (IR::Node const &a) const override
 
bool IR::SwitchStatement::operator== (IR::SwitchStatement const &a) const override
 
bool IR::SwitchStatement::operator== (IR::Statement const &a) const override
 
bool IR::SwitchStatement::operator== (IR::StatOrDecl const &a) const override
 
bool IR::SwitchStatement::operator== (IR::Node const &a) const override
 
bool IR::Function::operator== (IR::Function const &a) const override
 
bool IR::Function::operator== (IR::Declaration const &a) const override
 
bool IR::Function::operator== (IR::StatOrDecl const &a) const override
 
bool IR::Function::operator== (IR::Node const &a) const override
 
bool IR::Block::operator== (IR::Block const &a) const override
 
bool IR::Block::operator== (IR::Node const &a) const override
 
bool IR::TableBlock::operator== (IR::TableBlock const &a) const override
 
bool IR::TableBlock::operator== (IR::Block const &a) const override
 
bool IR::TableBlock::operator== (IR::Node const &a) const override
 
bool IR::InstantiatedBlock::operator== (IR::InstantiatedBlock const &a) const override
 
bool IR::InstantiatedBlock::operator== (IR::Block const &a) const override
 
bool IR::InstantiatedBlock::operator== (IR::Node const &a) const override
 
bool IR::ParserBlock::operator== (IR::ParserBlock const &a) const override
 
bool IR::ParserBlock::operator== (IR::InstantiatedBlock const &a) const override
 
bool IR::ParserBlock::operator== (IR::Block const &a) const override
 
bool IR::ParserBlock::operator== (IR::Node const &a) const override
 
bool IR::ControlBlock::operator== (IR::ControlBlock const &a) const override
 
bool IR::ControlBlock::operator== (IR::InstantiatedBlock const &a) const override
 
bool IR::ControlBlock::operator== (IR::Block const &a) const override
 
bool IR::ControlBlock::operator== (IR::Node const &a) const override
 
bool IR::PackageBlock::operator== (IR::PackageBlock const &a) const override
 
bool IR::PackageBlock::operator== (IR::InstantiatedBlock const &a) const override
 
bool IR::PackageBlock::operator== (IR::Block const &a) const override
 
bool IR::PackageBlock::operator== (IR::Node const &a) const override
 
bool IR::ExternBlock::operator== (IR::ExternBlock const &a) const override
 
bool IR::ExternBlock::operator== (IR::InstantiatedBlock const &a) const override
 
bool IR::ExternBlock::operator== (IR::Block const &a) const override
 
bool IR::ExternBlock::operator== (IR::Node const &a) const override
 
bool IR::ToplevelBlock::operator== (IR::ToplevelBlock const &a) const override
 
bool IR::ToplevelBlock::operator== (IR::Block const &a) const override
 
bool IR::ToplevelBlock::operator== (IR::Node const &a) const override
 
bool IR::Type_Block::operator== (IR::Type_Block const &a) const override
 
bool IR::Type_Block::operator== (IR::Type_Base const &a) const override
 
bool IR::Type_Block::operator== (IR::Type const &a) const override
 
bool IR::Type_Block::operator== (IR::Node const &a) const override
 
bool IR::Type_Counter::operator== (IR::Type_Counter const &a) const override
 
bool IR::Type_Counter::operator== (IR::Type_Base const &a) const override
 
bool IR::Type_Counter::operator== (IR::Type const &a) const override
 
bool IR::Type_Counter::operator== (IR::Node const &a) const override
 
bool IR::Type_Expression::operator== (IR::Type_Expression const &a) const override
 
bool IR::Type_Expression::operator== (IR::Type_Base const &a) const override
 
bool IR::Type_Expression::operator== (IR::Type const &a) const override
 
bool IR::Type_Expression::operator== (IR::Node const &a) const override
 
bool IR::Type_FieldListCalculation::operator== (IR::Type_FieldListCalculation const &a) const override
 
bool IR::Type_FieldListCalculation::operator== (IR::Type_Base const &a) const override
 
bool IR::Type_FieldListCalculation::operator== (IR::Type const &a) const override
 
bool IR::Type_FieldListCalculation::operator== (IR::Node const &a) const override
 
bool IR::Type_Meter::operator== (IR::Type_Meter const &a) const override
 
bool IR::Type_Meter::operator== (IR::Type_Base const &a) const override
 
bool IR::Type_Meter::operator== (IR::Type const &a) const override
 
bool IR::Type_Meter::operator== (IR::Node const &a) const override
 
bool IR::Type_Register::operator== (IR::Type_Register const &a) const override
 
bool IR::Type_Register::operator== (IR::Type_Base const &a) const override
 
bool IR::Type_Register::operator== (IR::Type const &a) const override
 
bool IR::Type_Register::operator== (IR::Node const &a) const override
 
bool IR::Type_AnyTable::operator== (IR::Type_AnyTable const &a) const override
 
bool IR::Type_AnyTable::operator== (IR::Type_Base const &a) const override
 
bool IR::Type_AnyTable::operator== (IR::Type const &a) const override
 
bool IR::Type_AnyTable::operator== (IR::Node const &a) const override
 
bool IR::HeaderOrMetadata::operator== (IR::HeaderOrMetadata const &a) const override
 
bool IR::HeaderOrMetadata::operator== (IR::Node const &a) const override
 
bool IR::Header::operator== (IR::Header const &a) const override
 
bool IR::Header::operator== (IR::HeaderOrMetadata const &a) const override
 
bool IR::Header::operator== (IR::Node const &a) const override
 
bool IR::HeaderStack::operator== (IR::HeaderStack const &a) const override
 
bool IR::HeaderStack::operator== (IR::HeaderOrMetadata const &a) const override
 
bool IR::HeaderStack::operator== (IR::Node const &a) const override
 
bool IR::Metadata::operator== (IR::Metadata const &a) const override
 
bool IR::Metadata::operator== (IR::HeaderOrMetadata const &a) const override
 
bool IR::Metadata::operator== (IR::Node const &a) const override
 
bool IR::HeaderRef::operator== (IR::HeaderRef const &a) const override
 
bool IR::HeaderRef::operator== (IR::Expression const &a) const override
 
bool IR::HeaderRef::operator== (IR::Node const &a) const override
 
bool IR::ConcreteHeaderRef::operator== (IR::ConcreteHeaderRef const &a) const override
 
bool IR::ConcreteHeaderRef::operator== (IR::HeaderRef const &a) const override
 
bool IR::ConcreteHeaderRef::operator== (IR::Expression const &a) const override
 
bool IR::ConcreteHeaderRef::operator== (IR::Node const &a) const override
 
bool IR::HeaderStackItemRef::operator== (IR::HeaderStackItemRef const &a) const override
 
bool IR::HeaderStackItemRef::operator== (IR::HeaderRef const &a) const override
 
bool IR::HeaderStackItemRef::operator== (IR::Expression const &a) const override
 
bool IR::HeaderStackItemRef::operator== (IR::Node const &a) const override
 
bool IR::If::operator== (IR::If const &a) const override
 
bool IR::If::operator== (IR::Expression const &a) const override
 
bool IR::If::operator== (IR::Node const &a) const override
 
bool IR::NamedCond::operator== (IR::NamedCond const &a) const override
 
bool IR::NamedCond::operator== (IR::If const &a) const override
 
bool IR::NamedCond::operator== (IR::Expression const &a) const override
 
bool IR::NamedCond::operator== (IR::Node const &a) const override
 
bool IR::Apply::operator== (IR::Apply const &a) const override
 
bool IR::Apply::operator== (IR::Expression const &a) const override
 
bool IR::Apply::operator== (IR::Node const &a) const override
 
bool IR::Primitive::operator== (IR::Primitive const &a) const override
 
bool IR::Primitive::operator== (IR::Operation const &a) const override
 
bool IR::Primitive::operator== (IR::Expression const &a) const override
 
bool IR::Primitive::operator== (IR::Node const &a) const override
 
bool IR::FieldList::operator== (IR::FieldList const &a) const override
 
bool IR::FieldList::operator== (IR::Node const &a) const override
 
bool IR::FieldListCalculation::operator== (IR::FieldListCalculation const &a) const override
 
bool IR::FieldListCalculation::operator== (IR::Node const &a) const override
 
bool IR::CalculatedField::update_or_verify::operator== (IR::CalculatedField::update_or_verify const &a) const
 
bool IR::CalculatedField::operator== (IR::CalculatedField const &a) const override
 
bool IR::CalculatedField::operator== (IR::Node const &a) const override
 
bool IR::CaseEntry::operator== (IR::CaseEntry const &a) const override
 
bool IR::CaseEntry::operator== (IR::Node const &a) const override
 
bool IR::V1Parser::operator== (IR::V1Parser const &a) const override
 
bool IR::V1Parser::operator== (IR::Node const &a) const override
 
bool IR::ParserException::operator== (IR::ParserException const &a) const override
 
bool IR::ParserException::operator== (IR::Node const &a) const override
 
bool IR::Attached::operator== (IR::Attached const &a) const override
 
bool IR::Attached::operator== (IR::Node const &a) const override
 
bool IR::Stateful::operator== (IR::Stateful const &a) const override
 
bool IR::Stateful::operator== (IR::Attached const &a) const override
 
bool IR::Stateful::operator== (IR::Node const &a) const override
 
bool IR::CounterOrMeter::operator== (IR::CounterOrMeter const &a) const override
 
bool IR::CounterOrMeter::operator== (IR::Stateful const &a) const override
 
bool IR::CounterOrMeter::operator== (IR::Attached const &a) const override
 
bool IR::CounterOrMeter::operator== (IR::Node const &a) const override
 
bool IR::Counter::operator== (IR::Counter const &a) const override
 
bool IR::Counter::operator== (IR::CounterOrMeter const &a) const override
 
bool IR::Counter::operator== (IR::Stateful const &a) const override
 
bool IR::Counter::operator== (IR::Attached const &a) const override
 
bool IR::Counter::operator== (IR::Node const &a) const override
 
bool IR::Meter::operator== (IR::Meter const &a) const override
 
bool IR::Meter::operator== (IR::CounterOrMeter const &a) const override
 
bool IR::Meter::operator== (IR::Stateful const &a) const override
 
bool IR::Meter::operator== (IR::Attached const &a) const override
 
bool IR::Meter::operator== (IR::Node const &a) const override
 
bool IR::Register::operator== (IR::Register const &a) const override
 
bool IR::Register::operator== (IR::Stateful const &a) const override
 
bool IR::Register::operator== (IR::Attached const &a) const override
 
bool IR::Register::operator== (IR::Node const &a) const override
 
bool IR::PrimitiveAction::operator== (IR::PrimitiveAction const &a) const override
 
bool IR::PrimitiveAction::operator== (IR::Node const &a) const override
 
bool IR::NameList::operator== (IR::NameList const &a) const override
 
bool IR::NameList::operator== (IR::Node const &a) const override
 
bool IR::ActionArg::operator== (IR::ActionArg const &a) const override
 
bool IR::ActionArg::operator== (IR::Expression const &a) const override
 
bool IR::ActionArg::operator== (IR::Node const &a) const override
 
bool IR::ActionFunction::operator== (IR::ActionFunction const &a) const override
 
bool IR::ActionFunction::operator== (IR::Node const &a) const override
 
bool IR::ActionProfile::operator== (IR::ActionProfile const &a) const override
 
bool IR::ActionProfile::operator== (IR::Attached const &a) const override
 
bool IR::ActionProfile::operator== (IR::Node const &a) const override
 
bool IR::ActionSelector::operator== (IR::ActionSelector const &a) const override
 
bool IR::ActionSelector::operator== (IR::Attached const &a) const override
 
bool IR::ActionSelector::operator== (IR::Node const &a) const override
 
bool IR::V1Table::operator== (IR::V1Table const &a) const override
 
bool IR::V1Table::operator== (IR::Node const &a) const override
 
bool IR::V1Control::operator== (IR::V1Control const &a) const override
 
bool IR::V1Control::operator== (IR::Node const &a) const override
 
bool IR::AttribLocal::operator== (IR::AttribLocal const &a) const override
 
bool IR::AttribLocal::operator== (IR::Expression const &a) const override
 
bool IR::AttribLocal::operator== (IR::Node const &a) const override
 
bool IR::AttribLocals::operator== (IR::AttribLocals const &a) const override
 
bool IR::AttribLocals::operator== (IR::Node const &a) const override
 
bool IR::Attribute::operator== (IR::Attribute const &a) const override
 
bool IR::Attribute::operator== (IR::Declaration const &a) const override
 
bool IR::Attribute::operator== (IR::StatOrDecl const &a) const override
 
bool IR::Attribute::operator== (IR::Node const &a) const override
 
bool IR::GlobalRef::operator== (IR::GlobalRef const &a) const override
 
bool IR::GlobalRef::operator== (IR::Expression const &a) const override
 
bool IR::GlobalRef::operator== (IR::Node const &a) const override
 
bool IR::AttributeRef::operator== (IR::AttributeRef const &a) const override
 
bool IR::AttributeRef::operator== (IR::Expression const &a) const override
 
bool IR::AttributeRef::operator== (IR::Node const &a) const override
 
bool IR::V1Program::operator== (IR::V1Program const &a) const override
 
bool IR::V1Program::operator== (IR::Node const &a) const override
 
bool IR::v1HeaderType::operator== (IR::v1HeaderType const &a) const override
 
bool IR::v1HeaderType::operator== (IR::Node const &a) const override
 
bool IR::IntMod::operator== (IR::IntMod const &a) const override
 
bool IR::IntMod::operator== (IR::Operation_Unary const &a) const override
 
bool IR::IntMod::operator== (IR::Operation const &a) const override
 
bool IR::IntMod::operator== (IR::Expression const &a) const override
 
bool IR::IntMod::operator== (IR::Node const &a) const override
 
bool operator>> (cstring s, IR::Direction &d)
 
Constant IR::Constant::operator>> (const unsigned &shift) const
 
bool operator>> (cstring s, IR::CounterType &ctr)
 
void IR::HeaderStackItemRef::set_base (const Expression *b)
 
void IR::CounterOrMeter::settype (cstring t)
 
void IR::Block::setValue (const Node *node, const CompileTimeValue *value)
 
size_t IR::ActionList::size () const
 
size_t IR::EntriesList::size () const
 
static cstring IR::Operation_Unary::static_type_name ()
 
static cstring IR::Neg::static_type_name ()
 
static cstring IR::Cmpl::static_type_name ()
 
static cstring IR::LNot::static_type_name ()
 
static cstring IR::Operation_Binary::static_type_name ()
 
static cstring IR::Operation_Ternary::static_type_name ()
 
static cstring IR::Operation_Relation::static_type_name ()
 
static cstring IR::Mul::static_type_name ()
 
static cstring IR::Div::static_type_name ()
 
static cstring IR::Mod::static_type_name ()
 
static cstring IR::Add::static_type_name ()
 
static cstring IR::Sub::static_type_name ()
 
static cstring IR::Shl::static_type_name ()
 
static cstring IR::Shr::static_type_name ()
 
static cstring IR::Equ::static_type_name ()
 
static cstring IR::Neq::static_type_name ()
 
static cstring IR::Lss::static_type_name ()
 
static cstring IR::Leq::static_type_name ()
 
static cstring IR::Grt::static_type_name ()
 
static cstring IR::Geq::static_type_name ()
 
static cstring IR::BAnd::static_type_name ()
 
static cstring IR::BOr::static_type_name ()
 
static cstring IR::BXor::static_type_name ()
 
static cstring IR::LAnd::static_type_name ()
 
static cstring IR::LOr::static_type_name ()
 
static cstring IR::Literal::static_type_name ()
 
static cstring IR::Constant::static_type_name ()
 
static cstring IR::BoolLiteral::static_type_name ()
 
static cstring IR::StringLiteral::static_type_name ()
 
static cstring IR::PathExpression::static_type_name ()
 
static cstring IR::TypeNameExpression::static_type_name ()
 
static cstring IR::Slice::static_type_name ()
 
static cstring IR::Member::static_type_name ()
 
static cstring IR::Concat::static_type_name ()
 
static cstring IR::ArrayIndex::static_type_name ()
 
static cstring IR::Range::static_type_name ()
 
static cstring IR::Mask::static_type_name ()
 
static cstring IR::Mux::static_type_name ()
 
static cstring IR::DefaultExpression::static_type_name ()
 
static cstring IR::This::static_type_name ()
 
static cstring IR::Cast::static_type_name ()
 
static cstring IR::SelectCase::static_type_name ()
 
static cstring IR::SelectExpression::static_type_name ()
 
static cstring IR::MethodCallExpression::static_type_name ()
 
static cstring IR::ConstructorCallExpression::static_type_name ()
 
static cstring IR::ListExpression::static_type_name ()
 
static cstring IR::ParserState::static_type_name ()
 
static cstring IR::P4Parser::static_type_name ()
 
static cstring IR::P4Control::static_type_name ()
 
static cstring IR::P4Action::static_type_name ()
 
static cstring IR::Type_Error::static_type_name ()
 
static cstring IR::Declaration_MatchKind::static_type_name ()
 
static cstring IR::PropertyValue::static_type_name ()
 
static cstring IR::ExpressionValue::static_type_name ()
 
static cstring IR::ExpressionListValue::static_type_name ()
 
static cstring IR::ActionListElement::static_type_name ()
 
static cstring IR::ActionList::static_type_name ()
 
static cstring IR::KeyElement::static_type_name ()
 
static cstring IR::Key::static_type_name ()
 
static cstring IR::Entry::static_type_name ()
 
static cstring IR::EntriesList::static_type_name ()
 
static cstring IR::Property::static_type_name ()
 
static cstring IR::TableProperties::static_type_name ()
 
static cstring IR::P4Table::static_type_name ()
 
static cstring IR::Declaration_Variable::static_type_name ()
 
static cstring IR::Declaration_Constant::static_type_name ()
 
static cstring IR::Declaration_Instance::static_type_name ()
 
static cstring IR::P4Program::static_type_name ()
 
static cstring IR::Statement::static_type_name ()
 
static cstring IR::ExitStatement::static_type_name ()
 
static cstring IR::ReturnStatement::static_type_name ()
 
static cstring IR::EmptyStatement::static_type_name ()
 
static cstring IR::AssignmentStatement::static_type_name ()
 
static cstring IR::IfStatement::static_type_name ()
 
static cstring IR::BlockStatement::static_type_name ()
 
static cstring IR::MethodCallStatement::static_type_name ()
 
static cstring IR::SwitchCase::static_type_name ()
 
static cstring IR::SwitchStatement::static_type_name ()
 
static cstring IR::Function::static_type_name ()
 
static cstring IR::Block::static_type_name ()
 
static cstring IR::TableBlock::static_type_name ()
 
static cstring IR::InstantiatedBlock::static_type_name ()
 
static cstring IR::ParserBlock::static_type_name ()
 
static cstring IR::ControlBlock::static_type_name ()
 
static cstring IR::PackageBlock::static_type_name ()
 
static cstring IR::ExternBlock::static_type_name ()
 
static cstring IR::ToplevelBlock::static_type_name ()
 
static cstring IR::Type_Block::static_type_name ()
 
static cstring IR::Type_Counter::static_type_name ()
 
static cstring IR::Type_Expression::static_type_name ()
 
static cstring IR::Type_FieldListCalculation::static_type_name ()
 
static cstring IR::Type_Meter::static_type_name ()
 
static cstring IR::Type_Register::static_type_name ()
 
static cstring IR::Type_AnyTable::static_type_name ()
 
static cstring IR::HeaderOrMetadata::static_type_name ()
 
static cstring IR::Header::static_type_name ()
 
static cstring IR::HeaderStack::static_type_name ()
 
static cstring IR::Metadata::static_type_name ()
 
static cstring IR::HeaderRef::static_type_name ()
 
static cstring IR::ConcreteHeaderRef::static_type_name ()
 
static cstring IR::HeaderStackItemRef::static_type_name ()
 
static cstring IR::If::static_type_name ()
 
static cstring IR::NamedCond::static_type_name ()
 
static cstring IR::Apply::static_type_name ()
 
static cstring IR::Primitive::static_type_name ()
 
static cstring IR::FieldList::static_type_name ()
 
static cstring IR::FieldListCalculation::static_type_name ()
 
static cstring IR::CalculatedField::static_type_name ()
 
static cstring IR::CaseEntry::static_type_name ()
 
static cstring IR::V1Parser::static_type_name ()
 
static cstring IR::ParserException::static_type_name ()
 
static cstring IR::Attached::static_type_name ()
 
static cstring IR::Stateful::static_type_name ()
 
static cstring IR::CounterOrMeter::static_type_name ()
 
static cstring IR::Counter::static_type_name ()
 
static cstring IR::Meter::static_type_name ()
 
static cstring IR::Register::static_type_name ()
 
static cstring IR::PrimitiveAction::static_type_name ()
 
static cstring IR::NameList::static_type_name ()
 
static cstring IR::ActionArg::static_type_name ()
 
static cstring IR::ActionFunction::static_type_name ()
 
static cstring IR::ActionProfile::static_type_name ()
 
static cstring IR::ActionSelector::static_type_name ()
 
static cstring IR::V1Table::static_type_name ()
 
static cstring IR::V1Control::static_type_name ()
 
static cstring IR::AttribLocal::static_type_name ()
 
static cstring IR::AttribLocals::static_type_name ()
 
static cstring IR::Attribute::static_type_name ()
 
static cstring IR::GlobalRef::static_type_name ()
 
static cstring IR::AttributeRef::static_type_name ()
 
static cstring IR::V1Program::static_type_name ()
 
static cstring IR::v1HeaderType::static_type_name ()
 
static cstring IR::IntMod::static_type_name ()
 
void IR::Operation_Unary::toJSON (JSONGenerator &json) const override
 
void IR::Neg::toJSON (JSONGenerator &json) const override
 
void IR::Cmpl::toJSON (JSONGenerator &json) const override
 
void IR::LNot::toJSON (JSONGenerator &json) const override
 
void IR::Operation_Binary::toJSON (JSONGenerator &json) const override
 
void IR::Operation_Ternary::toJSON (JSONGenerator &json) const override
 
void IR::Operation_Relation::toJSON (JSONGenerator &json) const override
 
void IR::Mul::toJSON (JSONGenerator &json) const override
 
void IR::Div::toJSON (JSONGenerator &json) const override
 
void IR::Mod::toJSON (JSONGenerator &json) const override
 
void IR::Add::toJSON (JSONGenerator &json) const override
 
void IR::Sub::toJSON (JSONGenerator &json) const override
 
void IR::Shl::toJSON (JSONGenerator &json) const override
 
void IR::Shr::toJSON (JSONGenerator &json) const override
 
void IR::Equ::toJSON (JSONGenerator &json) const override
 
void IR::Neq::toJSON (JSONGenerator &json) const override
 
void IR::Lss::toJSON (JSONGenerator &json) const override
 
void IR::Leq::toJSON (JSONGenerator &json) const override
 
void IR::Grt::toJSON (JSONGenerator &json) const override
 
void IR::Geq::toJSON (JSONGenerator &json) const override
 
void IR::BAnd::toJSON (JSONGenerator &json) const override
 
void IR::BOr::toJSON (JSONGenerator &json) const override
 
void IR::BXor::toJSON (JSONGenerator &json) const override
 
void IR::LAnd::toJSON (JSONGenerator &json) const override
 
void IR::LOr::toJSON (JSONGenerator &json) const override
 
void IR::Literal::toJSON (JSONGenerator &json) const override
 
void IR::Constant::toJSON (JSONGenerator &json) const override
 
void IR::BoolLiteral::toJSON (JSONGenerator &json) const override
 
void IR::StringLiteral::toJSON (JSONGenerator &json) const override
 
void IR::PathExpression::toJSON (JSONGenerator &json) const override
 
void IR::TypeNameExpression::toJSON (JSONGenerator &json) const override
 
void IR::Slice::toJSON (JSONGenerator &json) const override
 
void IR::Member::toJSON (JSONGenerator &json) const override
 
void IR::Concat::toJSON (JSONGenerator &json) const override
 
void IR::ArrayIndex::toJSON (JSONGenerator &json) const override
 
void IR::Range::toJSON (JSONGenerator &json) const override
 
void IR::Mask::toJSON (JSONGenerator &json) const override
 
void IR::Mux::toJSON (JSONGenerator &json) const override
 
void IR::DefaultExpression::toJSON (JSONGenerator &json) const override
 
void IR::This::toJSON (JSONGenerator &json) const override
 
void IR::Cast::toJSON (JSONGenerator &json) const override
 
void IR::SelectCase::toJSON (JSONGenerator &json) const override
 
void IR::SelectExpression::toJSON (JSONGenerator &json) const override
 
void IR::MethodCallExpression::toJSON (JSONGenerator &json) const override
 
void IR::ConstructorCallExpression::toJSON (JSONGenerator &json) const override
 
void IR::ListExpression::toJSON (JSONGenerator &json) const override
 
void IR::ParserState::toJSON (JSONGenerator &json) const override
 
void IR::P4Parser::toJSON (JSONGenerator &json) const override
 
void IR::P4Control::toJSON (JSONGenerator &json) const override
 
void IR::P4Action::toJSON (JSONGenerator &json) const override
 
void IR::Type_Error::toJSON (JSONGenerator &json) const override
 
void IR::Declaration_MatchKind::toJSON (JSONGenerator &json) const override
 
void IR::PropertyValue::toJSON (JSONGenerator &json) const override
 
void IR::ExpressionValue::toJSON (JSONGenerator &json) const override
 
void IR::ExpressionListValue::toJSON (JSONGenerator &json) const override
 
void IR::ActionListElement::toJSON (JSONGenerator &json) const override
 
void IR::ActionList::toJSON (JSONGenerator &json) const override
 
void IR::KeyElement::toJSON (JSONGenerator &json) const override
 
void IR::Key::toJSON (JSONGenerator &json) const override
 
void IR::Entry::toJSON (JSONGenerator &json) const override
 
void IR::EntriesList::toJSON (JSONGenerator &json) const override
 
void IR::Property::toJSON (JSONGenerator &json) const override
 
void IR::TableProperties::toJSON (JSONGenerator &json) const override
 
void IR::P4Table::toJSON (JSONGenerator &json) const override
 
void IR::Declaration_Variable::toJSON (JSONGenerator &json) const override
 
void IR::Declaration_Constant::toJSON (JSONGenerator &json) const override
 
void IR::Declaration_Instance::toJSON (JSONGenerator &json) const override
 
void IR::P4Program::toJSON (JSONGenerator &json) const override
 
void IR::Statement::toJSON (JSONGenerator &json) const override
 
void IR::ExitStatement::toJSON (JSONGenerator &json) const override
 
void IR::ReturnStatement::toJSON (JSONGenerator &json) const override
 
void IR::EmptyStatement::toJSON (JSONGenerator &json) const override
 
void IR::AssignmentStatement::toJSON (JSONGenerator &json) const override
 
void IR::IfStatement::toJSON (JSONGenerator &json) const override
 
void IR::BlockStatement::toJSON (JSONGenerator &json) const override
 
void IR::MethodCallStatement::toJSON (JSONGenerator &json) const override
 
void IR::SwitchCase::toJSON (JSONGenerator &json) const override
 
void IR::SwitchStatement::toJSON (JSONGenerator &json) const override
 
void IR::Function::toJSON (JSONGenerator &json) const override
 
void IR::Block::toJSON (JSONGenerator &json) const override
 
void IR::TableBlock::toJSON (JSONGenerator &json) const override
 
void IR::InstantiatedBlock::toJSON (JSONGenerator &json) const override
 
void IR::ParserBlock::toJSON (JSONGenerator &json) const override
 
void IR::ControlBlock::toJSON (JSONGenerator &json) const override
 
void IR::PackageBlock::toJSON (JSONGenerator &json) const override
 
void IR::ExternBlock::toJSON (JSONGenerator &json) const override
 
void IR::ToplevelBlock::toJSON (JSONGenerator &json) const override
 
void IR::Type_Block::toJSON (JSONGenerator &json) const override
 
void IR::Type_Counter::toJSON (JSONGenerator &json) const override
 
void IR::Type_Expression::toJSON (JSONGenerator &json) const override
 
void IR::Type_FieldListCalculation::toJSON (JSONGenerator &json) const override
 
void IR::Type_Meter::toJSON (JSONGenerator &json) const override
 
void IR::Type_Register::toJSON (JSONGenerator &json) const override
 
void IR::Type_AnyTable::toJSON (JSONGenerator &json) const override
 
void IR::HeaderOrMetadata::toJSON (JSONGenerator &json) const override
 
void IR::Header::toJSON (JSONGenerator &json) const override
 
void IR::HeaderStack::toJSON (JSONGenerator &json) const override
 
void IR::Metadata::toJSON (JSONGenerator &json) const override
 
void IR::HeaderRef::toJSON (JSONGenerator &json) const override
 
void IR::ConcreteHeaderRef::toJSON (JSONGenerator &json) const override
 
void IR::HeaderStackItemRef::toJSON (JSONGenerator &json) const override
 
void IR::If::toJSON (JSONGenerator &json) const override
 
void IR::NamedCond::toJSON (JSONGenerator &json) const override
 
void IR::Apply::toJSON (JSONGenerator &json) const override
 
void IR::Primitive::toJSON (JSONGenerator &json) const override
 
void IR::FieldList::toJSON (JSONGenerator &json) const override
 
void IR::FieldListCalculation::toJSON (JSONGenerator &json) const override
 
void IR::CalculatedField::update_or_verify::toJSON (JSONGenerator &json) const
 
void IR::CalculatedField::toJSON (JSONGenerator &json) const override
 
void IR::CaseEntry::toJSON (JSONGenerator &json) const override
 
void IR::V1Parser::toJSON (JSONGenerator &json) const override
 
void IR::ParserException::toJSON (JSONGenerator &json) const override
 
void IR::Attached::toJSON (JSONGenerator &json) const override
 
void IR::Stateful::toJSON (JSONGenerator &json) const override
 
void IR::CounterOrMeter::toJSON (JSONGenerator &json) const override
 
void IR::Counter::toJSON (JSONGenerator &json) const override
 
void IR::Meter::toJSON (JSONGenerator &json) const override
 
void IR::Register::toJSON (JSONGenerator &json) const override
 
void IR::PrimitiveAction::toJSON (JSONGenerator &json) const override
 
void IR::NameList::toJSON (JSONGenerator &json) const override
 
void IR::ActionArg::toJSON (JSONGenerator &json) const override
 
void IR::ActionFunction::toJSON (JSONGenerator &json) const override
 
void IR::ActionProfile::toJSON (JSONGenerator &json) const override
 
void IR::ActionSelector::toJSON (JSONGenerator &json) const override
 
void IR::V1Table::toJSON (JSONGenerator &json) const override
 
void IR::V1Control::toJSON (JSONGenerator &json) const override
 
void IR::AttribLocal::toJSON (JSONGenerator &json) const override
 
void IR::AttribLocals::toJSON (JSONGenerator &json) const override
 
void IR::Attribute::toJSON (JSONGenerator &json) const override
 
void IR::GlobalRef::toJSON (JSONGenerator &json) const override
 
void IR::AttributeRef::toJSON (JSONGenerator &json) const override
 
void IR::V1Program::toJSON (JSONGenerator &json) const override
 
void IR::v1HeaderType::toJSON (JSONGenerator &json) const override
 
void IR::IntMod::toJSON (JSONGenerator &json) const override
 
cstring IR::Constant::toString () const override
 
cstring IR::BoolLiteral::toString () const override
 
cstring IR::StringLiteral::toString () const override
 
cstring IR::PathExpression::toString () const override
 
cstring IR::TypeNameExpression::toString () const override
 
cstring IR::Slice::toString () const override
 
cstring IR::Member::toString () const override
 
cstring IR::Cast::toString () const override
 
cstring IR::MethodCallExpression::toString () const override
 
cstring IR::ConstructorCallExpression::toString () const override
 
cstring IR::P4Parser::toString () const override
 
cstring IR::P4Control::toString () const override
 
cstring IR::ActionListElement::toString () const override
 
cstring IR::TableProperties::toString () const override
 
cstring IR::Declaration_Constant::toString () const override
 
cstring IR::ExitStatement::toString () const override
 
cstring IR::ReturnStatement::toString () const override
 
cstring IR::Type_Block::toString () const override
 
cstring IR::Type_Counter::toString () const override
 
cstring IR::Type_Expression::toString () const override
 
cstring IR::Type_FieldListCalculation::toString () const override
 
cstring IR::Type_Meter::toString () const override
 
cstring IR::Type_Register::toString () const override
 
cstring IR::Type_AnyTable::toString () const override
 
cstring IR::ConcreteHeaderRef::toString () const override
 
cstring IR::HeaderStackItemRef::toString () const override
 
cstring IR::V1Parser::toString () const override
 
cstring IR::Attached::toString () const override
 
cstring IR::ActionArg::toString () const override
 
cstring IR::ActionFunction::toString () const override
 
cstring IR::V1Table::toString () const override
 
cstring IR::V1Control::toString () const override
 
cstring IR::GlobalRef::toString () const override
 
cstring IR::AttributeRef::toString () const override
 
IR::Node const * IR::KeyElement::transform_visit (Transform &v)
 
virtual void IR::Primitive::typecheck () const
 
static cstring IR::NamedCond::unique_name ()
 
void IR::Operation_Unary::validate () const override
 
void IR::Operation_Binary::validate () const override
 
void IR::Operation_Ternary::validate () const override
 
void IR::StringLiteral::validate () const override
 
void IR::PathExpression::validate () const override
 
void IR::TypeNameExpression::validate () const override
 
void IR::Cast::validate () const override
 
void IR::SelectCase::validate () const override
 
void IR::SelectExpression::validate () const override
 
void IR::MethodCallExpression::validate () const override
 
void IR::ConstructorCallExpression::validate () const override
 
void IR::ListExpression::validate () const override
 
void IR::ParserState::validate () const override
 
void IR::P4Parser::validate () const override
 
void IR::P4Control::validate () const override
 
void IR::P4Action::validate () const override
 
void IR::Type_Error::validate () const override
 
void IR::Declaration_MatchKind::validate () const override
 
void IR::ExpressionValue::validate () const override
 
void IR::ExpressionListValue::validate () const override
 
void IR::ActionListElement::validate () const override
 
void IR::ActionList::validate () const override
 
void IR::KeyElement::validate () const override
 
void IR::Key::validate () const override
 
void IR::Entry::validate () const override
 
void IR::EntriesList::validate () const override
 
void IR::Property::validate () const override
 
void IR::TableProperties::validate () const override
 
void IR::P4Table::validate () const override
 
void IR::Declaration_Variable::validate () const override
 
void IR::Declaration_Constant::validate () const override
 
void IR::Declaration_Instance::validate () const override
 
void IR::P4Program::validate () const override
 
void IR::AssignmentStatement::validate () const override
 
void IR::IfStatement::validate () const override
 
void IR::BlockStatement::validate () const override
 
void IR::MethodCallStatement::validate () const override
 
void IR::SwitchCase::validate () const override
 
void IR::SwitchStatement::validate () const override
 
void IR::Function::validate () const override
 
void IR::Block::validate () const override
 
void IR::TableBlock::validate () const override
 
void IR::InstantiatedBlock::validate () const override
 
void IR::ParserBlock::validate () const override
 
void IR::ControlBlock::validate () const override
 
void IR::PackageBlock::validate () const override
 
void IR::ExternBlock::validate () const override
 
void IR::ToplevelBlock::validate () const override
 
void IR::HeaderOrMetadata::validate () const override
 
void IR::ConcreteHeaderRef::validate () const override
 
void IR::HeaderStackItemRef::validate () const override
 
void IR::If::validate () const override
 
void IR::Apply::validate () const override
 
void IR::Primitive::validate () const override
 
void IR::FieldList::validate () const override
 
void IR::FieldListCalculation::validate () const override
 
void IR::CalculatedField::validate () const override
 
void IR::V1Parser::validate () const override
 
void IR::Attached::validate () const override
 
void IR::ActionFunction::validate () const override
 
void IR::V1Table::validate () const override
 
void IR::V1Control::validate () const override
 
void IR::AttribLocals::validate () const override
 
void IR::GlobalRef::validate () const override
 
void IR::AttributeRef::validate () const override
 
void IR::V1Program::validate () const override
 
void IR::v1HeaderType::validate () const override
 
void IR::Operation_Unary::visit_children (Visitor &v) override
 
void IR::Operation_Unary::visit_children (Visitor &v) const override
 
void IR::Operation_Binary::visit_children (Visitor &v) override
 
void IR::Operation_Binary::visit_children (Visitor &v) const override
 
void IR::Operation_Ternary::visit_children (Visitor &v) override
 
void IR::Operation_Ternary::visit_children (Visitor &v) const override
 
void IR::Constant::visit_children (Visitor &v) override
 
void IR::Constant::visit_children (Visitor &v) const override
 
void IR::PathExpression::visit_children (Visitor &v) override
 
void IR::PathExpression::visit_children (Visitor &v) const override
 
void IR::TypeNameExpression::visit_children (Visitor &v) override
 
void IR::TypeNameExpression::visit_children (Visitor &v) const override
 
void IR::Mux::visit_children (Visitor &v) override
 
void IR::Mux::visit_children (Visitor &v) const override
 
void IR::Cast::visit_children (Visitor &v) override
 
void IR::Cast::visit_children (Visitor &v) const override
 
void IR::SelectCase::visit_children (Visitor &v) override
 
void IR::SelectCase::visit_children (Visitor &v) const override
 
void IR::SelectExpression::visit_children (Visitor &v) override
 
void IR::SelectExpression::visit_children (Visitor &v) const override
 
void IR::MethodCallExpression::visit_children (Visitor &v) override
 
void IR::MethodCallExpression::visit_children (Visitor &v) const override
 
void IR::ConstructorCallExpression::visit_children (Visitor &v) override
 
void IR::ConstructorCallExpression::visit_children (Visitor &v) const override
 
void IR::ListExpression::visit_children (Visitor &v) override
 
void IR::ListExpression::visit_children (Visitor &v) const override
 
void IR::ParserState::visit_children (Visitor &v) override
 
void IR::ParserState::visit_children (Visitor &v) const override
 
void IR::P4Parser::visit_children (Visitor &v) override
 
void IR::P4Parser::visit_children (Visitor &v) const override
 
void IR::P4Control::visit_children (Visitor &v) override
 
void IR::P4Control::visit_children (Visitor &v) const override
 
void IR::P4Action::visit_children (Visitor &v) override
 
void IR::P4Action::visit_children (Visitor &v) const override
 
void IR::Type_Error::visit_children (Visitor &v) override
 
void IR::Type_Error::visit_children (Visitor &v) const override
 
void IR::Declaration_MatchKind::visit_children (Visitor &v) override
 
void IR::Declaration_MatchKind::visit_children (Visitor &v) const override
 
void IR::ExpressionValue::visit_children (Visitor &v) override
 
void IR::ExpressionValue::visit_children (Visitor &v) const override
 
void IR::ExpressionListValue::visit_children (Visitor &v) override
 
void IR::ExpressionListValue::visit_children (Visitor &v) const override
 
void IR::ActionListElement::visit_children (Visitor &v) override
 
void IR::ActionListElement::visit_children (Visitor &v) const override
 
void IR::ActionList::visit_children (Visitor &v) override
 
void IR::ActionList::visit_children (Visitor &v) const override
 
void IR::KeyElement::visit_children (Visitor &v) override
 
void IR::KeyElement::visit_children (Visitor &v) const override
 
void IR::Key::visit_children (Visitor &v) override
 
void IR::Key::visit_children (Visitor &v) const override
 
void IR::Entry::visit_children (Visitor &v) override
 
void IR::Entry::visit_children (Visitor &v) const override
 
void IR::EntriesList::visit_children (Visitor &v) override
 
void IR::EntriesList::visit_children (Visitor &v) const override
 
void IR::Property::visit_children (Visitor &v) override
 
void IR::Property::visit_children (Visitor &v) const override
 
void IR::TableProperties::visit_children (Visitor &v) override
 
void IR::TableProperties::visit_children (Visitor &v) const override
 
void IR::P4Table::visit_children (Visitor &v) override
 
void IR::P4Table::visit_children (Visitor &v) const override
 
void IR::Declaration_Variable::visit_children (Visitor &v) override
 
void IR::Declaration_Variable::visit_children (Visitor &v) const override
 
void IR::Declaration_Constant::visit_children (Visitor &v) override
 
void IR::Declaration_Constant::visit_children (Visitor &v) const override
 
void IR::Declaration_Instance::visit_children (Visitor &v) override
 
void IR::Declaration_Instance::visit_children (Visitor &v) const override
 
void IR::P4Program::visit_children (Visitor &v) override
 
void IR::P4Program::visit_children (Visitor &v) const override
 
void IR::ReturnStatement::visit_children (Visitor &v) override
 
void IR::ReturnStatement::visit_children (Visitor &v) const override
 
void IR::AssignmentStatement::visit_children (Visitor &v) override
 
void IR::AssignmentStatement::visit_children (Visitor &v) const override
 
void IR::IfStatement::visit_children (Visitor &v) override
 
void IR::IfStatement::visit_children (Visitor &v) const override
 
void IR::BlockStatement::visit_children (Visitor &v) override
 
void IR::BlockStatement::visit_children (Visitor &v) const override
 
void IR::MethodCallStatement::visit_children (Visitor &v) override
 
void IR::MethodCallStatement::visit_children (Visitor &v) const override
 
void IR::SwitchCase::visit_children (Visitor &v) override
 
void IR::SwitchCase::visit_children (Visitor &v) const override
 
void IR::SwitchStatement::visit_children (Visitor &v) override
 
void IR::SwitchStatement::visit_children (Visitor &v) const override
 
void IR::Function::visit_children (Visitor &v) override
 
void IR::Function::visit_children (Visitor &v) const override
 
void IR::Block::visit_children (Visitor &v) override
 
void IR::Block::visit_children (Visitor &v) const override
 
void IR::TableBlock::visit_children (Visitor &v) override
 
void IR::TableBlock::visit_children (Visitor &v) const override
 
void IR::InstantiatedBlock::visit_children (Visitor &v) override
 
void IR::InstantiatedBlock::visit_children (Visitor &v) const override
 
void IR::ParserBlock::visit_children (Visitor &v) override
 
void IR::ParserBlock::visit_children (Visitor &v) const override
 
void IR::ControlBlock::visit_children (Visitor &v) override
 
void IR::ControlBlock::visit_children (Visitor &v) const override
 
void IR::PackageBlock::visit_children (Visitor &v) override
 
void IR::PackageBlock::visit_children (Visitor &v) const override
 
void IR::ExternBlock::visit_children (Visitor &v) override
 
void IR::ExternBlock::visit_children (Visitor &v) const override
 
void IR::HeaderOrMetadata::visit_children (Visitor &v) override
 
void IR::HeaderOrMetadata::visit_children (Visitor &v) const override
 
void IR::ConcreteHeaderRef::visit_children (Visitor &v) override
 
void IR::ConcreteHeaderRef::visit_children (Visitor &v) const override
 
void IR::HeaderStackItemRef::visit_children (Visitor &v) override
 
void IR::HeaderStackItemRef::visit_children (Visitor &v) const override
 
void IR::If::visit_children (Visitor &v) override
 
void IR::If::visit_children (Visitor &v) const override
 
void IR::Apply::visit_children (Visitor &v) override
 
void IR::Apply::visit_children (Visitor &v) const override
 
void IR::Primitive::visit_children (Visitor &v) override
 
void IR::Primitive::visit_children (Visitor &v) const override
 
void IR::FieldList::visit_children (Visitor &v) override
 
void IR::FieldList::visit_children (Visitor &v) const override
 
void IR::FieldListCalculation::visit_children (Visitor &v) override
 
void IR::FieldListCalculation::visit_children (Visitor &v) const override
 
void IR::CalculatedField::visit_children (Visitor &v) override
 
void IR::CalculatedField::visit_children (Visitor &v) const override
 
void IR::V1Parser::visit_children (Visitor &v) override
 
void IR::V1Parser::visit_children (Visitor &v) const override
 
void IR::Attached::visit_children (Visitor &v) override
 
void IR::Attached::visit_children (Visitor &v) const override
 
void IR::Meter::visit_children (Visitor &v) override
 
void IR::Meter::visit_children (Visitor &v) const override
 
void IR::ActionFunction::visit_children (Visitor &v) override
 
void IR::ActionFunction::visit_children (Visitor &v) const override
 
void IR::ActionSelector::visit_children (Visitor &v) override
 
void IR::ActionSelector::visit_children (Visitor &v) const override
 
void IR::V1Table::visit_children (Visitor &v) override
 
void IR::V1Table::visit_children (Visitor &v) const override
 
void IR::V1Control::visit_children (Visitor &v) override
 
void IR::V1Control::visit_children (Visitor &v) const override
 
void IR::AttribLocals::visit_children (Visitor &v) override
 
void IR::AttribLocals::visit_children (Visitor &v) const override
 
void IR::Attribute::visit_children (Visitor &v) override
 
void IR::Attribute::visit_children (Visitor &v) const override
 
void IR::GlobalRef::visit_children (Visitor &v) override
 
void IR::GlobalRef::visit_children (Visitor &v) const override
 
void IR::AttributeRef::visit_children (Visitor &v) override
 
void IR::AttributeRef::visit_children (Visitor &v) const override
 
void IR::V1Program::visit_children (Visitor &v) override
 
void IR::V1Program::visit_children (Visitor &v) const override
 
void IR::v1HeaderType::visit_children (Visitor &v) override
 
void IR::v1HeaderType::visit_children (Visitor &v) const override
 

Variables

static const cstring IR::ParserState::accept = "accept"
 
const Expression * IR::Entry::action = nullptr
 must be a tuple expression
 
ID IR::CaseEntry::action
 
Vector< Primitive > IR::ActionFunction::action = {}
 
cstring IR::ActionArg::action_name
 
ID IR::V1Table::action_profile = {}
 
const IndexedVector< ActionListElement > * IR::ActionList::actionList = nullptr
 
NameMap< Vector< Expression > > IR::Apply::actions = {}
 
vector< ID > IR::ActionProfile::actions = {}
 
vector< ID > IR::V1Table::actions = {}
 
static const cstring IR::TableProperties::actionsPropertyName = "actions"
 
ID IR::FieldListCalculation::algorithm = {}
 
const Annotations * IR::ParserState::annotations = nullptr
 
const Annotations * IR::P4Action::annotations = nullptr
 
const Annotations * IR::ActionListElement::annotations = nullptr
 
const Annotations * IR::KeyElement::annotations = nullptr
 
const Annotations * IR::Entry::annotations = nullptr
 
const Annotations * IR::Property::annotations = Annotations::empty
 
const Annotations * IR::P4Table::annotations = nullptr
 
const Annotations * IR::Declaration_Variable::annotations = nullptr
 
const Annotations * IR::Declaration_Constant::annotations = nullptr
 
const Annotations * IR::Declaration_Instance::annotations = Annotations::empty
 
const Annotations * IR::BlockStatement::annotations = nullptr
 
const Annotations * IR::HeaderOrMetadata::annotations = nullptr
 
const Annotations * IR::FieldList::annotations = Annotations::empty
 
const Annotations * IR::FieldListCalculation::annotations = nullptr
 
const Annotations * IR::CalculatedField::annotations = nullptr
 
const Annotations * IR::V1Parser::annotations = nullptr
 
const Annotations * IR::Attached::annotations = Annotations::empty
 
const Annotations * IR::ActionFunction::annotations = Annotations::empty
 
const Annotations * IR::V1Table::annotations = Annotations::empty
 
const Annotations * IR::V1Control::annotations = nullptr
 
vector< const ActionArg * > IR::ActionFunction::args = {}
 
const Vector< Expression > * IR::MethodCallExpression::arguments = nullptr
 
const Vector< Expression > * IR::ConstructorCallExpression::arguments = nullptr
 
const Vector< Expression > * IR::Declaration_Instance::arguments = nullptr
 
const Type_Header * IR::v1HeaderType::as_header = nullptr
 
const Type_Struct * IR::v1HeaderType::as_metadata = nullptr
 
const Attribute * IR::AttributeRef::attrib = nullptr
 
unsigned IR::Constant::base
 
const Expression * IR::HeaderStackItemRef::base_ = nullptr
 
const BlockStatement * IR::P4Control::body = nullptr
 
const BlockStatement * IR::P4Action::body = nullptr
 
const BlockStatement * IR::Function::body = nullptr
 
Vector< SwitchCase > IR::SwitchStatement::cases
 
const Vector< CaseEntry > * IR::V1Parser::cases = nullptr
 
const Vector< Expression > * IR::V1Control::code = nullptr
 
const Vector< Expression > * IR::ListExpression::components = nullptr
 
const IndexedVector< StatOrDecl > * IR::ParserState::components = nullptr
 
const IndexedVector< StatOrDecl > * IR::BlockStatement::components = nullptr
 
const Expression * IR::CalculatedField::update_or_verify::cond = nullptr
 
const Expression * IR::IfStatement::condition = nullptr
 
ordered_map< const Node *, const CompileTimeValue * > IR::Block::constantValue = {}
 
const Type * IR::ConstructorCallExpression::constructedType = type
 
const Method * IR::ExternBlock::constructor = nullptr
 
const ParameterList * IR::P4Parser::constructorParams = nullptr
 
const ParameterList * IR::P4Control::constructorParams = nullptr
 
const P4Table * IR::TableBlock::container = nullptr
 
const P4Parser * IR::ParserBlock::container = nullptr
 
const P4Control * IR::ControlBlock::container = nullptr
 
const IndexedVector< Declaration > * IR::P4Control::controlLocals = nullptr
 
const IndexedVector< Node > * IR::P4Program::declarations = nullptr
 
ID IR::V1Table::default_action = {}
 
const Vector< Expression > * IR::V1Table::default_action_args = 0
 
ID IR::V1Parser::default_return = {}
 
static const cstring IR::TableProperties::defaultActionPropertyName = "default_action"
 
const Type * IR::Cast::destType = type
 
bool IR::Stateful::direct = false
 
bool IR::V1Parser::drop = false
 
const Expression * IR::Operation_Ternary::e0 = nullptr
 
const Expression * IR::Operation_Ternary::e1 = nullptr
 
const Expression * IR::Operation_Ternary::e2 = nullptr
 
const Vector< Entry > * IR::EntriesList::entries = nullptr
 
static const cstring IR::TableProperties::entriesPropertyName = "entries"
 
static const cstring IR::Type_Error::error = "error"
 
const Expression * IR::Operation_Unary::expr = nullptr
 
const Expression * IR::ExpressionValue::expression = nullptr
 
const Expression * IR::ActionListElement::expression = nullptr
 
const Expression * IR::KeyElement::expression = nullptr
 
const Expression * IR::ReturnStatement::expression = nullptr
 
const Expression * IR::SwitchStatement::expression = nullptr
 
Vector< Expression > IR::ExpressionListValue::expressions
 
cstring IR::AttributeRef::extern_name
 
const Type_Extern * IR::AttributeRef::extern_type = nullptr
 
const Expression * IR::CalculatedField::field = nullptr
 
Vector< Expression > IR::FieldList::fields = {}
 
int IR::This::id = nextId++
 
const Statement * IR::IfStatement::ifFalse = nullptr
 
const Vector< Expression > * IR::If::ifFalse = nullptr
 
const Statement * IR::IfStatement::ifTrue = nullptr
 
const Vector< Expression > * IR::If::ifTrue = nullptr
 
ID IR::Meter::implementation = {}
 
const Expression * IR::HeaderStackItemRef::index_ = nullptr
 
const Expression * IR::Declaration_Variable::initializer = nullptr
 
const Expression * IR::Declaration_Constant::initializer = nullptr
 
const BlockStatement * IR::Declaration_Instance::initializer = nullptr
 
const NameList * IR::FieldListCalculation::input = nullptr
 
const FieldList * IR::FieldListCalculation::input_fields = nullptr
 
int IR::Stateful::instance_count = -1
 
const Type * IR::InstantiatedBlock::instanceType = nullptr
 
bool IR::Property::isConstant
 
ID IR::ActionSelector::key = {}
 
const FieldListCalculation * IR::ActionSelector::key_fields = nullptr
 
const Vector< KeyElement > * IR::Key::keyElements = nullptr
 
static const cstring IR::TableProperties::keyPropertyName = "key"
 
const ListExpression * IR::Entry::keys = nullptr
 annotations are optional (supported annotations: (value))
 
const Expression * IR::SelectCase::keyset = nullptr
 
const Expression * IR::SwitchCase::label = nullptr
 
ID IR::Register::layout = {}
 
const Expression * IR::Operation_Binary::left = nullptr
 
const Expression * IR::AssignmentStatement::left = nullptr
 
NameMap< AttribLocal > IR::AttribLocals::locals = {}
 
const AttribLocals * IR::Attribute::locals = nullptr
 
static const cstring IR::P4Program::main = "main"
 
const PathExpression * IR::KeyElement::matchType = nullptr
 
int IR::V1Table::max_size = 0
 
int IR::Counter::max_width = -1
 
ID IR::Member::member
 
const IndexedVector< Declaration_ID > * IR::Type_Error::members = nullptr
 
const IndexedVector< Declaration_ID > * IR::Declaration_MatchKind::members = nullptr
 
const Expression * IR::MethodCallExpression::method = nullptr
 
const MethodCallExpression * IR::MethodCallStatement::methodCall = nullptr
 
int IR::V1Table::min_size = 0
 
int IR::Counter::min_width = -1
 
ID IR::ActionSelector::mode = {}
 
ID IR::HeaderOrMetadata::name
 
cstring IR::NamedCond::name = unique_name()
 
ID IR::Apply::name
 
cstring IR::Primitive::name
 
ID IR::FieldList::name
 
ID IR::FieldListCalculation::name
 
ID IR::CalculatedField::update_or_verify::name
 
ID IR::V1Parser::name
 
ID IR::Attached::name
 
ID IR::ActionArg::name
 
ID IR::ActionFunction::name
 
ID IR::V1Table::name
 
ID IR::V1Control::name
 
ID IR::AttribLocal::name
 
ID IR::v1HeaderType::name
 
vector< ID > IR::NameList::names = {}
 
const Node * IR::Block::node = nullptr
 
const Node * IR::GlobalRef::obj = nullptr
 
Vector< Expression > IR::Primitive::operands = {}
 
bool IR::Attribute::optional = false
 
int IR::FieldListCalculation::output_width = 0
 
const ParameterList * IR::P4Action::parameters = nullptr
 
ID IR::V1Parser::parse_error = {}
 
const IndexedVector< Declaration > * IR::P4Parser::parserLocals = nullptr
 
const Path * IR::PathExpression::path = nullptr
 
bool IR::FieldList::payload = false
 
const Expression * IR::Meter::pre_color = nullptr
 
const Expression * IR::If::pred = nullptr
 
const IndexedVector< Property > * IR::TableProperties::properties = nullptr
 
const TableProperties * IR::P4Table::properties = nullptr
 
NameMap< Property > IR::Declaration_Instance::properties = {}
 
TableProperties IR::V1Table::properties = {}
 
bool IR::ActionArg::read = false
 
const Vector< Expression > * IR::V1Table::reads = 0
 
vector< ID > IR::V1Table::reads_types = {}
 
const HeaderOrMetadata * IR::ConcreteHeaderRef::ref = nullptr
 
static const cstring IR::ParserState::reject = "reject"
 
const Expression * IR::Meter::result = nullptr
 
const Expression * IR::Operation_Binary::right = nullptr
 
const Expression * IR::AssignmentStatement::right = nullptr
 
bool IR::Stateful::saturating = false
 
NameMap< Node, std::multimap > IR::V1Program::scope
 
const ListExpression * IR::SelectExpression::select = nullptr
 
const Vector< Expression > * IR::V1Parser::select = nullptr
 
Vector< SelectCase > IR::SelectExpression::selectCases
 
const Expression * IR::ParserState::selectExpression = nullptr
 
ID IR::ActionProfile::selector = {}
 
bool IR::Register::signed_ = false
 
int IR::HeaderStack::size
 
int IR::ActionProfile::size = 0
 
int IR::V1Table::size = 0
 
vector< update_or_verify > IR::CalculatedField::specs = {}
 
Util::SourceInfo IR::CalculatedField::update_or_verify::srcInfo
 
static const cstring IR::ParserState::start = "start"
 
const PathExpression * IR::SelectCase::state = nullptr
 
const Statement * IR::SwitchCase::statement = nullptr
 
const IndexedVector< ParserState > * IR::P4Parser::states = nullptr
 
Vector< Expression > IR::V1Parser::stmts = {}
 
ID IR::Stateful::table = {}
 
const Type_Parser * IR::P4Parser::type = nullptr
 
const Type_Control * IR::P4Control::type = nullptr
 
const Type * IR::Declaration_Variable::type = nullptr
 
const Type * IR::Declaration_Constant::type = nullptr
 
const Type * IR::Declaration_Instance::type = nullptr
 
const Type_Method * IR::Function::type = nullptr
 
const Type_Package * IR::PackageBlock::type = nullptr
 
const Type_Extern * IR::ExternBlock::type = nullptr
 
const Type_StructLike * IR::HeaderOrMetadata::type = nullptr
 
CounterType IR::CounterOrMeter::type = CounterType::NONE
 
ID IR::ActionSelector::type = {}
 
const Type * IR::Attribute::type = nullptr
 
ID IR::HeaderOrMetadata::type_name
 
const Vector< Type > * IR::MethodCallExpression::typeArguments = nullptr
 
const Type_Name * IR::TypeNameExpression::typeName = nullptr
 
bool IR::CalculatedField::update_or_verify::update
 
mpz_class IR::Constant::value
 
bool IR::BoolLiteral::value
 
cstring IR::StringLiteral::value
 
const PropertyValue * IR::Property::value = nullptr
 
vector< std::pair< const Constant *, const Constant * > > IR::CaseEntry::values = {}
 
static const cstring IR::ParserState::verify = "verify"
 
int IR::Register::width = -1
 
unsigned IR::IntMod::width
 
bool IR::ActionArg::write = false
 

Detailed Description


Class Documentation

class IR::ActionArg
Inheritance diagram for IR::ActionArg:

Public Member Functions

 ActionArg (JSONLoader &json)
 
 ActionArg (Util::SourceInfo srcInfo, const Type *type, cstring action_name, ID name)
 
 ActionArg (const Type *type, cstring action_name, ID name)
 
 ActionArg (Util::SourceInfo srcInfo, cstring action_name, ID name)
 
 ActionArg (cstring action_name, ID name)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ActionArg const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

cstring action_name
 
ID name
 
bool read = false
 
bool write = false
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ActionFunction
Inheritance diagram for IR::ActionFunction:

Public Member Functions

 ActionFunction (JSONLoader &json)
 
 ActionFunction (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 ActionFunction (ID name, const Annotations *annotations)
 
 ActionFunction (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 ActionFunction (const Annotations *annotations)
 
 ActionFunction (Util::SourceInfo srcInfo, ID name)
 
 ActionFunction (ID name)
 
 ActionFunction (Util::SourceInfo srcInfo)
 
const ActionArgarg (cstring n) const
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ActionFunction const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

Vector< Primitiveaction = {}
 
const Annotationsannotations = Annotations::empty
 
vector< const ActionArg * > args = {}
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ActionList
Inheritance diagram for IR::ActionList:

Public Member Functions

 ActionList (JSONLoader &json)
 
 ActionList (Util::SourceInfo srcInfo, const IndexedVector< ActionListElement > *actionList)
 
 ActionList (const IndexedVector< ActionListElement > *actionList)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ActionList const &a) const override
 
bool operator== (IR::PropertyValue const &a) const override
 
bool operator== (IR::Node const &a) const override
 
size_t size () const
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::PropertyValue
 PropertyValue (JSONLoader &json)
 
bool operator== (IR::PropertyValue const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::PropertyValue
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const IndexedVector< ActionListElement > * actionList = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::PropertyValue
 PropertyValue (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ActionListElement
Inheritance diagram for IR::ActionListElement:

Public Member Functions

 ActionListElement (JSONLoader &json)
 
 ActionListElement (Util::SourceInfo srcInfo, const Annotations *annotations, const Expression *expression)
 
 ActionListElement (const Annotations *annotations, const Expression *expression)
 
void dbprint (std::ostream &out) const override
 
const AnnotationsgetAnnotations () const override
 
ID getName () const override
 
const PathgetPath () const
 
cstring node_type_name () const override
 
bool operator== (IR::ActionListElement const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const Expressionexpression = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ActionProfile
Inheritance diagram for IR::ActionProfile:

Public Member Functions

 ActionProfile (JSONLoader &json)
 
 ActionProfile (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 ActionProfile (ID name, const Annotations *annotations)
 
 ActionProfile (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 ActionProfile (const Annotations *annotations)
 
 ActionProfile (Util::SourceInfo srcInfo, ID name)
 
 ActionProfile (ID name)
 
 ActionProfile (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
bool indexed () const override
 
char const * kind () const override
 
cstring node_type_name () const override
 
bool operator== (IR::ActionProfile const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Attached
 Attached (JSONLoader &json)
 
Attachedclone_rename (char const *ext) const
 
const TypegetType () const override
 
cstring Name () const override
 
bool operator== (IR::Attached const &a) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Attached
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

vector< IDactions = {}
 
ID selector = {}
 
int size = 0
 
- Public Attributes inherited from IR::Attached
const Annotationsannotations = Annotations::empty
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Attached
 Attached (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Attached (ID name, const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Attached (const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, ID name)
 
 Attached (ID name)
 
 Attached (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ActionSelector
Inheritance diagram for IR::ActionSelector:

Public Member Functions

 ActionSelector (JSONLoader &json)
 
 ActionSelector (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 ActionSelector (ID name, const Annotations *annotations)
 
 ActionSelector (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 ActionSelector (const Annotations *annotations)
 
 ActionSelector (Util::SourceInfo srcInfo, ID name)
 
 ActionSelector (ID name)
 
 ActionSelector (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
char const * kind () const override
 
cstring node_type_name () const override
 
bool operator== (IR::ActionSelector const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Attached
 Attached (JSONLoader &json)
 
Attachedclone_rename (char const *ext) const
 
const TypegetType () const override
 
virtual bool indexed () const
 
cstring Name () const override
 
bool operator== (IR::Attached const &a) const override
 
cstring toString () const override
 
void validate () const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Attached
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

ID key = {}
 
const FieldListCalculationkey_fields = nullptr
 
ID mode = {}
 
ID type = {}
 
- Public Attributes inherited from IR::Attached
const Annotationsannotations = Annotations::empty
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Attached
 Attached (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Attached (ID name, const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Attached (const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, ID name)
 
 Attached (ID name)
 
 Attached (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Add
Inheritance diagram for IR::Add:

Public Member Functions

 Add (JSONLoader &json)
 
 Add (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Add (const Type *type, const Expression *left, const Expression *right)
 
 Add (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Add (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Add const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Apply
Inheritance diagram for IR::Apply:

Public Member Functions

 Apply (JSONLoader &json)
 
 Apply (Util::SourceInfo srcInfo, const Type *type, ID name)
 
 Apply (const Type *type, ID name)
 
 Apply (Util::SourceInfo srcInfo, ID name)
 
 Apply (ID name)
 
 Apply (Util::SourceInfo srcInfo, const Type *type)
 
 Apply (const Type *type)
 
 Apply (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Apply const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

NameMap< Vector< Expression > > actions = {}
 
ID name
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ArrayIndex
Inheritance diagram for IR::ArrayIndex:

Public Member Functions

 ArrayIndex (JSONLoader &json)
 
 ArrayIndex (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 ArrayIndex (const Type *type, const Expression *left, const Expression *right)
 
 ArrayIndex (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 ArrayIndex (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::ArrayIndex const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::AssignmentStatement
Inheritance diagram for IR::AssignmentStatement:

Public Member Functions

 AssignmentStatement (JSONLoader &json)
 
 AssignmentStatement (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 AssignmentStatement (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::AssignmentStatement const &a) const override
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Statement
 Statement (JSONLoader &json)
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Statement
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Statement
 Statement (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Attached
Inheritance diagram for IR::Attached:

Public Member Functions

 Attached (JSONLoader &json)
 
Attachedclone_rename (char const *ext) const
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
const TypegetType () const override
 
virtual bool indexed () const
 
virtual char const * kind () const =0
 
cstring Name () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Attached const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = Annotations::empty
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Protected Member Functions

 Attached (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Attached (ID name, const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Attached (const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, ID name)
 
 Attached (ID name)
 
 Attached (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::AttribLocal
Inheritance diagram for IR::AttribLocal:

Public Member Functions

 AttribLocal (JSONLoader &json)
 
 AttribLocal (Util::SourceInfo srcInfo, const Type *type, ID name)
 
 AttribLocal (const Type *type, ID name)
 
 AttribLocal (Util::SourceInfo srcInfo, ID name)
 
 AttribLocal (ID name)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
cstring node_type_name () const override
 
bool operator== (IR::AttribLocal const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

ID name
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::AttribLocals
Inheritance diagram for IR::AttribLocals:

Public Member Functions

 AttribLocals (JSONLoader &json)
 
 AttribLocals (Util::SourceInfo srcInfo)
 
Util::Enumerator< const IDeclaration * > * getDeclarations () const override
 
const IDeclarationgetDeclByName (cstring name) const override
 
cstring node_type_name () const override
 
bool operator== (IR::AttribLocals const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

NameMap< AttribLocallocals = {}
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Attribute
Inheritance diagram for IR::Attribute:

Public Member Functions

 Attribute (JSONLoader &json)
 
 Attribute (Util::SourceInfo srcInfo, ID name)
 
 Attribute (ID name)
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Attribute const &a) const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Declaration
 Declaration (JSONLoader &json)
 
ID getName () const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const AttribLocalslocals = nullptr
 
bool optional = false
 
const Typetype = nullptr
 
- Public Attributes inherited from IR::Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Declaration
 Declaration (Util::SourceInfo srcInfo, ID name)
 
 Declaration (ID name)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::AttributeRef
Inheritance diagram for IR::AttributeRef:

Public Member Functions

 AttributeRef (JSONLoader &json)
 
 AttributeRef (Util::SourceInfo srcInfo, const Type *type, cstring extern_name, const Type_Extern *extern_type, const Attribute *attrib)
 
 AttributeRef (const Type *type, cstring extern_name, const Type_Extern *extern_type, const Attribute *attrib)
 
 AttributeRef (Util::SourceInfo srcInfo, cstring extern_name, const Type_Extern *extern_type, const Attribute *attrib)
 
 AttributeRef (cstring extern_name, const Type_Extern *extern_type, const Attribute *attrib)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::AttributeRef const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Attributeattrib = nullptr
 
cstring extern_name
 
const Type_Externextern_type = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::BAnd
Inheritance diagram for IR::BAnd:

Public Member Functions

 BAnd (JSONLoader &json)
 
 BAnd (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 BAnd (const Type *type, const Expression *left, const Expression *right)
 
 BAnd (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 BAnd (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::BAnd const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Block
Inheritance diagram for IR::Block:

Public Member Functions

 Block (JSONLoader &json)
 
virtual void dbprint (std::ostream &out) const override
 
virtual void dbprint_recursive (std::ostream &out) const
 
const CompileTimeValuegetValue (const Node *node) const
 
cstring node_type_name () const override
 
bool operator== (IR::Block const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void setValue (const Node *node, const CompileTimeValue *value)
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

ordered_map< const Node *, const CompileTimeValue * > constantValue = {}
 
const Nodenode = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Protected Member Functions

 Block (Util::SourceInfo srcInfo, const Node *node)
 
 Block (const Node *node)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::BlockStatement
Inheritance diagram for IR::BlockStatement:

Public Member Functions

 BlockStatement (JSONLoader &json)
 
 BlockStatement (Util::SourceInfo srcInfo, const Annotations *annotations, const IndexedVector< StatOrDecl > *components)
 
 BlockStatement (const Annotations *annotations, const IndexedVector< StatOrDecl > *components)
 
void dbprint (std::ostream &out) const override
 
Util::Enumerator< const IDeclaration * > * getDeclarations () const override
 
const IDeclarationgetDeclByName (cstring name) const override
 
cstring node_type_name () const override
 
bool operator== (IR::BlockStatement const &a) const override
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Statement
 Statement (JSONLoader &json)
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Statement
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const IndexedVector< StatOrDecl > * components = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Statement
 Statement (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::BoolLiteral
Inheritance diagram for IR::BoolLiteral:

Public Member Functions

 BoolLiteral (JSONLoader &json)
 
 BoolLiteral (Util::SourceInfo srcInfo, const Type *type, bool value)
 
 BoolLiteral (const Type *type, bool value)
 
 BoolLiteral (Util::SourceInfo srcInfo, bool value)
 
 BoolLiteral (bool value)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::BoolLiteral const &a) const override
 
bool operator== (IR::Literal const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Literal
 Literal (JSONLoader &json)
 
bool operator== (IR::Literal const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Literal
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

bool value
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Literal
 Literal (Util::SourceInfo srcInfo, const Type *type)
 
 Literal (const Type *type)
 
 Literal (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::BOr
Inheritance diagram for IR::BOr:

Public Member Functions

 BOr (JSONLoader &json)
 
 BOr (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 BOr (const Type *type, const Expression *left, const Expression *right)
 
 BOr (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 BOr (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::BOr const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::BXor
Inheritance diagram for IR::BXor:

Public Member Functions

 BXor (JSONLoader &json)
 
 BXor (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 BXor (const Type *type, const Expression *left, const Expression *right)
 
 BXor (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 BXor (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::BXor const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::CalculatedField
Inheritance diagram for IR::CalculatedField:

Public Member Functions

 CalculatedField (JSONLoader &json)
 
 CalculatedField (Util::SourceInfo srcInfo, const Expression *field, const Annotations *annotations)
 
 CalculatedField (const Expression *field, const Annotations *annotations)
 
 CalculatedField (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 CalculatedField (const Annotations *annotations)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::CalculatedField const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const Expressionfield = nullptr
 
vector< update_or_verifyspecs = {}
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::CalculatedField::update_or_verify

Public Member Functions

 update_or_verify (bool u, ID n, Expression const *c)
 
 update_or_verify (Util::SourceInfo srcInfo, bool update, ID name, const Expression *cond)
 
bool operator== (IR::CalculatedField::update_or_verify const &a) const
 
void toJSON (JSONGenerator &json) const
 

Static Public Member Functions

static IR::CalculatedField::update_or_verifyfromJSON (JSONLoader &json)
 

Public Attributes

const Expressioncond = nullptr
 
ID name
 
Util::SourceInfo srcInfo
 
bool update
 
class IR::CaseEntry
Inheritance diagram for IR::CaseEntry:

Public Member Functions

 CaseEntry (JSONLoader &json)
 
 CaseEntry (Util::SourceInfo srcInfo, ID action)
 
 CaseEntry (ID action)
 
 CaseEntry (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::CaseEntry const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

ID action
 
vector< std::pair< const Constant *, const Constant * > > values = {}
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Cast
Inheritance diagram for IR::Cast:

Public Member Functions

 Cast (JSONLoader &json)
 
 Cast (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 Cast (const Type *type, const Expression *expr)
 
 Cast (Util::SourceInfo srcInfo, const Expression *expr)
 
 Cast (const Expression *expr)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Cast const &a) const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation_Unary
 Operation_Unary (JSONLoader &json)
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Unary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const TypedestType = type
 
- Public Attributes inherited from IR::Operation_Unary
const Expressionexpr = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Protected Member Functions inherited from IR::Operation_Unary
 Operation_Unary (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 Operation_Unary (const Type *type, const Expression *expr)
 
 Operation_Unary (Util::SourceInfo srcInfo, const Expression *expr)
 
 Operation_Unary (const Expression *expr)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Cmpl
Inheritance diagram for IR::Cmpl:

Public Member Functions

 Cmpl (JSONLoader &json)
 
 Cmpl (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 Cmpl (const Type *type, const Expression *expr)
 
 Cmpl (Util::SourceInfo srcInfo, const Expression *expr)
 
 Cmpl (const Expression *expr)
 
void dbprint (std::ostream &out) const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Cmpl const &a) const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Unary
 Operation_Unary (JSONLoader &json)
 
int getPrecedence () const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Unary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Unary
const Expressionexpr = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Unary
 Operation_Unary (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 Operation_Unary (const Type *type, const Expression *expr)
 
 Operation_Unary (Util::SourceInfo srcInfo, const Expression *expr)
 
 Operation_Unary (const Expression *expr)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Concat
Inheritance diagram for IR::Concat:

Public Member Functions

 Concat (JSONLoader &json)
 
 Concat (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Concat (const Type *type, const Expression *left, const Expression *right)
 
 Concat (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Concat (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Concat const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ConcreteHeaderRef
Inheritance diagram for IR::ConcreteHeaderRef:

Public Member Functions

 ConcreteHeaderRef (JSONLoader &json)
 
 ConcreteHeaderRef (Util::SourceInfo srcInfo, const Type *type, const HeaderOrMetadata *ref)
 
 ConcreteHeaderRef (const Type *type, const HeaderOrMetadata *ref)
 
 ConcreteHeaderRef (Util::SourceInfo srcInfo, const HeaderOrMetadata *ref)
 
 ConcreteHeaderRef (const HeaderOrMetadata *ref)
 
const HeaderOrMetadatabaseRef () const override
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ConcreteHeaderRef const &a) const override
 
bool operator== (IR::HeaderRef const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::HeaderRef
 HeaderRef (JSONLoader &json)
 
bool operator== (IR::HeaderRef const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::HeaderRef
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const HeaderOrMetadataref = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::HeaderRef
 HeaderRef (Util::SourceInfo srcInfo, const Type *type)
 
 HeaderRef (const Type *type)
 
 HeaderRef (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Constant

This is an integer literal on arbitrary-precision.

Inheritance diagram for IR::Constant:

Public Member Functions

 Constant (intmax_t v, unsigned base=10)
 
 Constant (mpz_class v, unsigned base=10)
 
 Constant (Util::SourceInfo si, mpz_class v, unsigned base=10)
 
 Constant (Type const *t, mpz_class v, unsigned base=10, bool noWarning=false)
 
 Constant (Util::SourceInfo si, Type const *t, mpz_class v, unsigned base=10, bool noWarning=false)
 
 Constant (JSONLoader &json)
 
int asInt () const
 
long asLong () const
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
bool fitsInt () const
 
bool fitsLong () const
 
void handleOverflow (bool noWarning)
 
cstring node_type_name () const override
 
Constant operator& (const Constant &c) const
 
Constant operator- (const Constant &c) const
 
Constant operator- () const
 
Constant operator<< (const unsigned &shift) const
 
bool operator== (IR::Constant const &a) const override
 
bool operator== (IR::Literal const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
Constant operator>> (const unsigned &shift) const
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Literal
 Literal (JSONLoader &json)
 
bool operator== (IR::Literal const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static Constant GetMask (unsigned width)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Literal
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

unsigned base
 
mpz_class value
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Literal
 Literal (Util::SourceInfo srcInfo, const Type *type)
 
 Literal (const Type *type)
 
 Literal (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ConstructorCallExpression
Inheritance diagram for IR::ConstructorCallExpression:

Public Member Functions

 ConstructorCallExpression (JSONLoader &json)
 
 ConstructorCallExpression (Util::SourceInfo srcInfo, const Type *type, const Vector< Expression > *arguments)
 
 ConstructorCallExpression (const Type *type, const Vector< Expression > *arguments)
 
 ConstructorCallExpression (Util::SourceInfo srcInfo, const Vector< Expression > *arguments)
 
 ConstructorCallExpression (const Vector< Expression > *arguments)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ConstructorCallExpression const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Vector< Expression > * arguments = nullptr
 
const TypeconstructedType = type
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ControlBlock
Inheritance diagram for IR::ControlBlock:

Public Member Functions

 ControlBlock (JSONLoader &json)
 
 ControlBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType, const P4Control *container)
 
 ControlBlock (const Node *node, const Type *instanceType, const P4Control *container)
 
const ParameterListgetConstructorParameters () const override
 
cstring node_type_name () const override
 
bool operator== (IR::ControlBlock const &a) const override
 
bool operator== (IR::InstantiatedBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::InstantiatedBlock
 InstantiatedBlock (JSONLoader &json)
 
virtual void dbprint (std::ostream &out) const override
 
const CompileTimeValuegetParameterValue (cstring paramName) const
 
void instantiate (std::vector< const CompileTimeValue * > *args)
 
bool operator== (IR::InstantiatedBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
- Public Member Functions inherited from IR::Block
 Block (JSONLoader &json)
 
virtual void dbprint_recursive (std::ostream &out) const
 
const CompileTimeValuegetValue (const Node *node) const
 
bool operator== (IR::Block const &a) const override
 
void setValue (const Node *node, const CompileTimeValue *value)
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::InstantiatedBlock
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Block
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const P4Controlcontainer = nullptr
 
- Public Attributes inherited from IR::InstantiatedBlock
const TypeinstanceType = nullptr
 
- Public Attributes inherited from IR::Block
ordered_map< const Node *, const CompileTimeValue * > constantValue = {}
 
const Nodenode = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::InstantiatedBlock
 InstantiatedBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType)
 
 InstantiatedBlock (const Node *node, const Type *instanceType)
 
- Protected Member Functions inherited from IR::Block
 Block (Util::SourceInfo srcInfo, const Node *node)
 
 Block (const Node *node)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Counter
Inheritance diagram for IR::Counter:

Public Member Functions

 Counter (JSONLoader &json)
 
 Counter (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Counter (ID name, const Annotations *annotations)
 
 Counter (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Counter (const Annotations *annotations)
 
 Counter (Util::SourceInfo srcInfo, ID name)
 
 Counter (ID name)
 
 Counter (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
Type const * getType () const override
 
char const * kind () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Counter const &a) const override
 
bool operator== (IR::CounterOrMeter const &a) const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::CounterOrMeter
 CounterOrMeter (JSONLoader &json)
 
bool operator== (IR::CounterOrMeter const &a) const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
void settype (cstring t)
 
- Public Member Functions inherited from IR::Stateful
 Stateful (JSONLoader &json)
 
virtual bool indexed () const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
- Public Member Functions inherited from IR::Attached
 Attached (JSONLoader &json)
 
Attachedclone_rename (char const *ext) const
 
cstring Name () const override
 
bool operator== (IR::Attached const &a) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::CounterOrMeter
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Stateful
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Attached
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

int max_width = -1
 
int min_width = -1
 
- Public Attributes inherited from IR::CounterOrMeter
CounterType type = CounterType::NONE
 
- Public Attributes inherited from IR::Stateful
bool direct = false
 
int instance_count = -1
 
bool saturating = false
 
ID table = {}
 
- Public Attributes inherited from IR::Attached
const Annotationsannotations = Annotations::empty
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::CounterOrMeter
 CounterOrMeter (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 CounterOrMeter (ID name, const Annotations *annotations)
 
 CounterOrMeter (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 CounterOrMeter (const Annotations *annotations)
 
 CounterOrMeter (Util::SourceInfo srcInfo, ID name)
 
 CounterOrMeter (ID name)
 
 CounterOrMeter (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Stateful
 Stateful (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Stateful (ID name, const Annotations *annotations)
 
 Stateful (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Stateful (const Annotations *annotations)
 
 Stateful (Util::SourceInfo srcInfo, ID name)
 
 Stateful (ID name)
 
 Stateful (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Attached
 Attached (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Attached (ID name, const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Attached (const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, ID name)
 
 Attached (ID name)
 
 Attached (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::CounterOrMeter
Inheritance diagram for IR::CounterOrMeter:

Public Member Functions

 CounterOrMeter (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::CounterOrMeter const &a) const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void settype (cstring t)
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Stateful
 Stateful (JSONLoader &json)
 
virtual bool indexed () const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
- Public Member Functions inherited from IR::Attached
 Attached (JSONLoader &json)
 
Attachedclone_rename (char const *ext) const
 
void dbprint (std::ostream &out) const override
 
const TypegetType () const override
 
virtual char const * kind () const =0
 
cstring Name () const override
 
bool operator== (IR::Attached const &a) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Stateful
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Attached
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

CounterType type = CounterType::NONE
 
- Public Attributes inherited from IR::Stateful
bool direct = false
 
int instance_count = -1
 
bool saturating = false
 
ID table = {}
 
- Public Attributes inherited from IR::Attached
const Annotationsannotations = Annotations::empty
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Protected Member Functions

 CounterOrMeter (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 CounterOrMeter (ID name, const Annotations *annotations)
 
 CounterOrMeter (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 CounterOrMeter (const Annotations *annotations)
 
 CounterOrMeter (Util::SourceInfo srcInfo, ID name)
 
 CounterOrMeter (ID name)
 
 CounterOrMeter (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Stateful
 Stateful (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Stateful (ID name, const Annotations *annotations)
 
 Stateful (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Stateful (const Annotations *annotations)
 
 Stateful (Util::SourceInfo srcInfo, ID name)
 
 Stateful (ID name)
 
 Stateful (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Attached
 Attached (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Attached (ID name, const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Attached (const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, ID name)
 
 Attached (ID name)
 
 Attached (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Declaration_Constant
Inheritance diagram for IR::Declaration_Constant:

Public Member Functions

 Declaration_Constant (JSONLoader &json)
 
 Declaration_Constant (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const Type *type, const Expression *initializer)
 
 Declaration_Constant (ID name, const Annotations *annotations, const Type *type, const Expression *initializer)
 
void dbprint (std::ostream &out) const override
 
const AnnotationsgetAnnotations () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Declaration_Constant const &a) const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Declaration
 Declaration (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const Expressioninitializer = nullptr
 
const Typetype = nullptr
 
- Public Attributes inherited from IR::Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Declaration
 Declaration (Util::SourceInfo srcInfo, ID name)
 
 Declaration (ID name)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Declaration_Instance
Inheritance diagram for IR::Declaration_Instance:

Public Member Functions

 Declaration_Instance (JSONLoader &json)
 
 Declaration_Instance (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const Type *type, const Vector< Expression > *arguments, const BlockStatement *initializer)
 
 Declaration_Instance (ID name, const Annotations *annotations, const Type *type, const Vector< Expression > *arguments, const BlockStatement *initializer)
 
 Declaration_Instance (Util::SourceInfo srcInfo, ID name, const Type *type, const Vector< Expression > *arguments, const BlockStatement *initializer)
 
 Declaration_Instance (ID name, const Type *type, const Vector< Expression > *arguments, const BlockStatement *initializer)
 
 Declaration_Instance (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const Type *type, const Vector< Expression > *arguments)
 
 Declaration_Instance (ID name, const Annotations *annotations, const Type *type, const Vector< Expression > *arguments)
 
 Declaration_Instance (Util::SourceInfo srcInfo, ID name, const Type *type, const Vector< Expression > *arguments)
 
 Declaration_Instance (ID name, const Type *type, const Vector< Expression > *arguments)
 
void dbprint (std::ostream &out) const override
 
const AnnotationsgetAnnotations () const override
 
const TypegetType () const override
 
cstring Name () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Declaration_Instance const &a) const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Declaration
 Declaration (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = Annotations::empty
 
const Vector< Expression > * arguments = nullptr
 
const BlockStatementinitializer = nullptr
 
NameMap< Propertyproperties = {}
 
const Typetype = nullptr
 
- Public Attributes inherited from IR::Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Declaration
 Declaration (Util::SourceInfo srcInfo, ID name)
 
 Declaration (ID name)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Declaration_MatchKind
Inheritance diagram for IR::Declaration_MatchKind:

Public Member Functions

 Declaration_MatchKind (JSONLoader &json)
 
 Declaration_MatchKind (Util::SourceInfo srcInfo, const IndexedVector< Declaration_ID > *members)
 
 Declaration_MatchKind (const IndexedVector< Declaration_ID > *members)
 
void dbprint (std::ostream &out) const override
 
Util::Enumerator< const IDeclaration * > * getDeclarations () const override
 
const IDeclarationgetDeclByName (cstring name) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Declaration_MatchKind const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const IndexedVector< Declaration_ID > * members = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Declaration_Variable
Inheritance diagram for IR::Declaration_Variable:

Public Member Functions

 Declaration_Variable (JSONLoader &json)
 
 Declaration_Variable (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const Type *type, const Expression *initializer)
 
 Declaration_Variable (ID name, const Annotations *annotations, const Type *type, const Expression *initializer)
 
void dbprint (std::ostream &out) const override
 
const AnnotationsgetAnnotations () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Declaration_Variable const &a) const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Declaration
 Declaration (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const Expressioninitializer = nullptr
 
const Typetype = nullptr
 
- Public Attributes inherited from IR::Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Declaration
 Declaration (Util::SourceInfo srcInfo, ID name)
 
 Declaration (ID name)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::DefaultExpression
Inheritance diagram for IR::DefaultExpression:

Public Member Functions

 DefaultExpression (JSONLoader &json)
 
 DefaultExpression (Util::SourceInfo srcInfo, const Type *type)
 
 DefaultExpression (const Type *type)
 
 DefaultExpression (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::DefaultExpression const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Div
Inheritance diagram for IR::Div:

Public Member Functions

 Div (JSONLoader &json)
 
 Div (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Div (const Type *type, const Expression *left, const Expression *right)
 
 Div (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Div (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Div const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::EmptyStatement
Inheritance diagram for IR::EmptyStatement:

Public Member Functions

 EmptyStatement (JSONLoader &json)
 
 EmptyStatement (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::EmptyStatement const &a) const override
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Statement
 Statement (JSONLoader &json)
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Statement
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Statement
 Statement (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::EntriesList

List of predefined entries. Part of table properties.

Inheritance diagram for IR::EntriesList:

Public Member Functions

 EntriesList (JSONLoader &json)
 
 EntriesList (Util::SourceInfo srcInfo, const Vector< Entry > *entries)
 
 EntriesList (const Vector< Entry > *entries)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::EntriesList const &a) const override
 
bool operator== (IR::PropertyValue const &a) const override
 
bool operator== (IR::Node const &a) const override
 
size_t size () const
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::PropertyValue
 PropertyValue (JSONLoader &json)
 
bool operator== (IR::PropertyValue const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::PropertyValue
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Vector< Entry > * entries = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::PropertyValue
 PropertyValue (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Entry

Pre-defined entry in a table.

Inheritance diagram for IR::Entry:

Public Member Functions

 Entry (JSONLoader &json)
 
 Entry (Util::SourceInfo srcInfo, const Annotations *annotations, const ListExpression *keys, const Expression *action)
 
 Entry (const Annotations *annotations, const ListExpression *keys, const Expression *action)
 
void dbprint (std::ostream &out) const override
 
const ExpressiongetAction () const
 
const AnnotationsgetAnnotations () const override
 
const ListExpressiongetKeys () const
 
cstring node_type_name () const override
 
bool operator== (IR::Entry const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressionaction = nullptr
 must be a tuple expression
 
const Annotationsannotations = nullptr
 
const ListExpressionkeys = nullptr
 annotations are optional (supported annotations: (value))
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Equ
Inheritance diagram for IR::Equ:

Public Member Functions

 Equ (JSONLoader &json)
 
 Equ (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Equ (const Type *type, const Expression *left, const Expression *right)
 
 Equ (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Equ (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Equ const &a) const override
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Relation
 Operation_Relation (JSONLoader &json)
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Relation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Relation
 Operation_Relation (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Relation (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ExitStatement
Inheritance diagram for IR::ExitStatement:

Public Member Functions

 ExitStatement (JSONLoader &json)
 
 ExitStatement (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ExitStatement const &a) const override
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Statement
 Statement (JSONLoader &json)
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Statement
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Statement
 Statement (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ExpressionListValue
Inheritance diagram for IR::ExpressionListValue:

Public Member Functions

 ExpressionListValue (JSONLoader &json)
 
 ExpressionListValue (Util::SourceInfo srcInfo, Vector< Expression > expressions)
 
 ExpressionListValue (Vector< Expression > expressions)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ExpressionListValue const &a) const override
 
bool operator== (IR::PropertyValue const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::PropertyValue
 PropertyValue (JSONLoader &json)
 
bool operator== (IR::PropertyValue const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::PropertyValue
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

Vector< Expressionexpressions
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::PropertyValue
 PropertyValue (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ExpressionValue
Inheritance diagram for IR::ExpressionValue:

Public Member Functions

 ExpressionValue (JSONLoader &json)
 
 ExpressionValue (Util::SourceInfo srcInfo, const Expression *expression)
 
 ExpressionValue (const Expression *expression)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ExpressionValue const &a) const override
 
bool operator== (IR::PropertyValue const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::PropertyValue
 PropertyValue (JSONLoader &json)
 
bool operator== (IR::PropertyValue const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::PropertyValue
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressionexpression = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::PropertyValue
 PropertyValue (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ExternBlock
Inheritance diagram for IR::ExternBlock:

Public Member Functions

 ExternBlock (JSONLoader &json)
 
 ExternBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType, const Type_Extern *type, const Method *constructor)
 
 ExternBlock (const Node *node, const Type *instanceType, const Type_Extern *type, const Method *constructor)
 
const ParameterListgetConstructorParameters () const override
 
cstring node_type_name () const override
 
bool operator== (IR::ExternBlock const &a) const override
 
bool operator== (IR::InstantiatedBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::InstantiatedBlock
 InstantiatedBlock (JSONLoader &json)
 
virtual void dbprint (std::ostream &out) const override
 
const CompileTimeValuegetParameterValue (cstring paramName) const
 
void instantiate (std::vector< const CompileTimeValue * > *args)
 
bool operator== (IR::InstantiatedBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
- Public Member Functions inherited from IR::Block
 Block (JSONLoader &json)
 
virtual void dbprint_recursive (std::ostream &out) const
 
const CompileTimeValuegetValue (const Node *node) const
 
bool operator== (IR::Block const &a) const override
 
void setValue (const Node *node, const CompileTimeValue *value)
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::InstantiatedBlock
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Block
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Methodconstructor = nullptr
 
const Type_Externtype = nullptr
 
- Public Attributes inherited from IR::InstantiatedBlock
const TypeinstanceType = nullptr
 
- Public Attributes inherited from IR::Block
ordered_map< const Node *, const CompileTimeValue * > constantValue = {}
 
const Nodenode = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::InstantiatedBlock
 InstantiatedBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType)
 
 InstantiatedBlock (const Node *node, const Type *instanceType)
 
- Protected Member Functions inherited from IR::Block
 Block (Util::SourceInfo srcInfo, const Node *node)
 
 Block (const Node *node)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::FieldList
Inheritance diagram for IR::FieldList:

Public Member Functions

 FieldList (JSONLoader &json)
 
 FieldList (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 FieldList (ID name, const Annotations *annotations)
 
 FieldList (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 FieldList (const Annotations *annotations)
 
 FieldList (Util::SourceInfo srcInfo, ID name)
 
 FieldList (ID name)
 
 FieldList (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::FieldList const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = Annotations::empty
 
Vector< Expressionfields = {}
 
ID name
 
bool payload = false
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::FieldListCalculation
Inheritance diagram for IR::FieldListCalculation:

Public Member Functions

 FieldListCalculation (JSONLoader &json)
 
 FieldListCalculation (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 FieldListCalculation (ID name, const Annotations *annotations)
 
 FieldListCalculation (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 FieldListCalculation (const Annotations *annotations)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::FieldListCalculation const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

ID algorithm = {}
 
const Annotationsannotations = nullptr
 
const NameListinput = nullptr
 
const FieldListinput_fields = nullptr
 
ID name
 
int output_width = 0
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Function
Inheritance diagram for IR::Function:

Public Member Functions

 Function (JSONLoader &json)
 
 Function (Util::SourceInfo srcInfo, ID name, const Type_Method *type, const BlockStatement *body)
 
 Function (ID name, const Type_Method *type, const BlockStatement *body)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Function const &a) const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Declaration
 Declaration (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const BlockStatementbody = nullptr
 
const Type_Methodtype = nullptr
 
- Public Attributes inherited from IR::Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Declaration
 Declaration (Util::SourceInfo srcInfo, ID name)
 
 Declaration (ID name)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Geq
Inheritance diagram for IR::Geq:

Public Member Functions

 Geq (JSONLoader &json)
 
 Geq (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Geq (const Type *type, const Expression *left, const Expression *right)
 
 Geq (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Geq (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Geq const &a) const override
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Relation
 Operation_Relation (JSONLoader &json)
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Relation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Relation
 Operation_Relation (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Relation (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::GlobalRef
Inheritance diagram for IR::GlobalRef:

Public Member Functions

 GlobalRef (JSONLoader &json)
 
 GlobalRef (Util::SourceInfo srcInfo, const Type *type, const Node *obj)
 
 GlobalRef (const Type *type, const Node *obj)
 
 GlobalRef (Util::SourceInfo srcInfo, const Node *obj)
 
 GlobalRef (const Node *obj)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::GlobalRef const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Nodeobj = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Grt
Inheritance diagram for IR::Grt:

Public Member Functions

 Grt (JSONLoader &json)
 
 Grt (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Grt (const Type *type, const Expression *left, const Expression *right)
 
 Grt (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Grt (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Grt const &a) const override
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Relation
 Operation_Relation (JSONLoader &json)
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Relation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Relation
 Operation_Relation (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Relation (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Header
Inheritance diagram for IR::Header:

Public Member Functions

 Header (ID n, const Type_Header *t)
 
 Header (JSONLoader &json)
 
 Header (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations)
 
 Header (ID type_name, ID name, const Annotations *annotations)
 
cstring node_type_name () const override
 
bool operator== (IR::Header const &a) const override
 
bool operator== (IR::HeaderOrMetadata const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::HeaderOrMetadata
 HeaderOrMetadata (ID n, const Type_StructLike *t)
 
 HeaderOrMetadata (JSONLoader &json)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
bool operator== (IR::HeaderOrMetadata const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::HeaderOrMetadata
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Attributes inherited from IR::HeaderOrMetadata
const Annotationsannotations = nullptr
 
ID name
 
const Type_StructLiketype = nullptr
 
ID type_name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::HeaderOrMetadata
 HeaderOrMetadata (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations)
 
 HeaderOrMetadata (ID type_name, ID name, const Annotations *annotations)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::HeaderOrMetadata
Inheritance diagram for IR::HeaderOrMetadata:

Public Member Functions

 HeaderOrMetadata (ID n, const Type_StructLike *t)
 
 HeaderOrMetadata (JSONLoader &json)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::HeaderOrMetadata const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
ID name
 
const Type_StructLiketype = nullptr
 
ID type_name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Protected Member Functions

 HeaderOrMetadata (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations)
 
 HeaderOrMetadata (ID type_name, ID name, const Annotations *annotations)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::HeaderRef
Inheritance diagram for IR::HeaderRef:

Public Member Functions

 HeaderRef (JSONLoader &json)
 
virtual const HeaderOrMetadatabaseRef () const =0
 
cstring node_type_name () const override
 
bool operator== (IR::HeaderRef const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Protected Member Functions

 HeaderRef (Util::SourceInfo srcInfo, const Type *type)
 
 HeaderRef (const Type *type)
 
 HeaderRef (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::HeaderStack
Inheritance diagram for IR::HeaderStack:

Public Member Functions

 HeaderStack (ID n, const Type_Header *t, int sz)
 
 HeaderStack (JSONLoader &json)
 
 HeaderStack (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations, int size)
 
 HeaderStack (ID type_name, ID name, const Annotations *annotations, int size)
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::HeaderStack const &a) const override
 
bool operator== (IR::HeaderOrMetadata const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::HeaderOrMetadata
 HeaderOrMetadata (ID n, const Type_StructLike *t)
 
 HeaderOrMetadata (JSONLoader &json)
 
void dbprint (std::ostream &out) const override
 
bool operator== (IR::HeaderOrMetadata const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::HeaderOrMetadata
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

int size
 
- Public Attributes inherited from IR::HeaderOrMetadata
const Annotationsannotations = nullptr
 
ID name
 
const Type_StructLiketype = nullptr
 
ID type_name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::HeaderOrMetadata
 HeaderOrMetadata (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations)
 
 HeaderOrMetadata (ID type_name, ID name, const Annotations *annotations)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::HeaderStackItemRef
Inheritance diagram for IR::HeaderStackItemRef:

Public Member Functions

 HeaderStackItemRef (JSONLoader &json)
 
 HeaderStackItemRef (Util::SourceInfo srcInfo, const Type *type, const Expression *base_, const Expression *index_)
 
 HeaderStackItemRef (const Type *type, const Expression *base_, const Expression *index_)
 
 HeaderStackItemRef (Util::SourceInfo srcInfo, const Expression *base_, const Expression *index_)
 
 HeaderStackItemRef (const Expression *base_, const Expression *index_)
 
const Expressionbase () const
 
const HeaderOrMetadatabaseRef () const override
 
void dbprint (std::ostream &out) const override
 
const Expressionindex () const
 
cstring node_type_name () const override
 
bool operator== (IR::HeaderStackItemRef const &a) const override
 
bool operator== (IR::HeaderRef const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void set_base (const Expression *b)
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::HeaderRef
 HeaderRef (JSONLoader &json)
 
bool operator== (IR::HeaderRef const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::HeaderRef
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressionbase_ = nullptr
 
const Expressionindex_ = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::HeaderRef
 HeaderRef (Util::SourceInfo srcInfo, const Type *type)
 
 HeaderRef (const Type *type)
 
 HeaderRef (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::If
Inheritance diagram for IR::If:

Public Member Functions

 If (JSONLoader &json)
 
 If (Util::SourceInfo srcInfo, const Type *type, const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
 If (const Type *type, const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
 If (Util::SourceInfo srcInfo, const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
 If (const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::If const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Vector< Expression > * ifFalse = nullptr
 
const Vector< Expression > * ifTrue = nullptr
 
const Expressionpred = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::IfStatement
Inheritance diagram for IR::IfStatement:

Public Member Functions

 IfStatement (JSONLoader &json)
 
 IfStatement (Util::SourceInfo srcInfo, const Expression *condition, const Statement *ifTrue, const Statement *ifFalse)
 
 IfStatement (const Expression *condition, const Statement *ifTrue, const Statement *ifFalse)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::IfStatement const &a) const override
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Statement
 Statement (JSONLoader &json)
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Statement
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressioncondition = nullptr
 
const StatementifFalse = nullptr
 
const StatementifTrue = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Statement
 Statement (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::InstantiatedBlock
Inheritance diagram for IR::InstantiatedBlock:

Public Member Functions

 InstantiatedBlock (JSONLoader &json)
 
virtual void dbprint (std::ostream &out) const override
 
virtual const ParameterListgetConstructorParameters () const =0
 
const CompileTimeValuegetParameterValue (cstring paramName) const
 
void instantiate (std::vector< const CompileTimeValue * > *args)
 
cstring node_type_name () const override
 
bool operator== (IR::InstantiatedBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Block
 Block (JSONLoader &json)
 
virtual void dbprint_recursive (std::ostream &out) const
 
const CompileTimeValuegetValue (const Node *node) const
 
bool operator== (IR::Block const &a) const override
 
void setValue (const Node *node, const CompileTimeValue *value)
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Block
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const TypeinstanceType = nullptr
 
- Public Attributes inherited from IR::Block
ordered_map< const Node *, const CompileTimeValue * > constantValue = {}
 
const Nodenode = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Protected Member Functions

 InstantiatedBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType)
 
 InstantiatedBlock (const Node *node, const Type *instanceType)
 
- Protected Member Functions inherited from IR::Block
 Block (Util::SourceInfo srcInfo, const Node *node)
 
 Block (const Node *node)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::IntMod
Inheritance diagram for IR::IntMod:

Public Member Functions

 IntMod (JSONLoader &json)
 
 IntMod (Util::SourceInfo srcInfo, const Type *type, const Expression *expr, unsigned width)
 
 IntMod (const Type *type, const Expression *expr, unsigned width)
 
 IntMod (Util::SourceInfo srcInfo, const Expression *expr, unsigned width)
 
 IntMod (const Expression *expr, unsigned width)
 
void dump_fields (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::IntMod const &a) const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Unary
 Operation_Unary (JSONLoader &json)
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Unary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

unsigned width
 
- Public Attributes inherited from IR::Operation_Unary
const Expressionexpr = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Protected Member Functions inherited from IR::Operation_Unary
 Operation_Unary (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 Operation_Unary (const Type *type, const Expression *expr)
 
 Operation_Unary (Util::SourceInfo srcInfo, const Expression *expr)
 
 Operation_Unary (const Expression *expr)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Key
Inheritance diagram for IR::Key:

Public Member Functions

 Key (JSONLoader &json)
 
 Key (Util::SourceInfo srcInfo, const Vector< KeyElement > *keyElements)
 
 Key (const Vector< KeyElement > *keyElements)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Key const &a) const override
 
bool operator== (IR::PropertyValue const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::PropertyValue
 PropertyValue (JSONLoader &json)
 
bool operator== (IR::PropertyValue const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::PropertyValue
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Vector< KeyElement > * keyElements = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::PropertyValue
 PropertyValue (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::KeyElement
Inheritance diagram for IR::KeyElement:

Public Member Functions

 KeyElement (JSONLoader &json)
 
 KeyElement (Util::SourceInfo srcInfo, const Annotations *annotations, const Expression *expression, const PathExpression *matchType)
 
 KeyElement (const Annotations *annotations, const Expression *expression, const PathExpression *matchType)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::KeyElement const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
IR::Node const * transform_visit (Transform &v)
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const Expressionexpression = nullptr
 
const PathExpressionmatchType = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::LAnd
Inheritance diagram for IR::LAnd:

Public Member Functions

 LAnd (JSONLoader &json)
 
 LAnd (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 LAnd (const Type *type, const Expression *left, const Expression *right)
 
 LAnd (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 LAnd (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::LAnd const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Leq
Inheritance diagram for IR::Leq:

Public Member Functions

 Leq (JSONLoader &json)
 
 Leq (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Leq (const Type *type, const Expression *left, const Expression *right)
 
 Leq (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Leq (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Leq const &a) const override
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Relation
 Operation_Relation (JSONLoader &json)
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Relation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Relation
 Operation_Relation (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Relation (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ListExpression

Represents a list of expressions separated by commas.

Inheritance diagram for IR::ListExpression:

Public Member Functions

 ListExpression (JSONLoader &json)
 
 ListExpression (Util::SourceInfo srcInfo, const Type *type, const Vector< Expression > *components)
 
 ListExpression (const Type *type, const Vector< Expression > *components)
 
 ListExpression (Util::SourceInfo srcInfo, const Vector< Expression > *components)
 
 ListExpression (const Vector< Expression > *components)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ListExpression const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Vector< Expression > * components = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Literal
Inheritance diagram for IR::Literal:

Public Member Functions

 Literal (JSONLoader &json)
 
cstring node_type_name () const override
 
bool operator== (IR::Literal const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Protected Member Functions

 Literal (Util::SourceInfo srcInfo, const Type *type)
 
 Literal (const Type *type)
 
 Literal (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::LNot
Inheritance diagram for IR::LNot:

Public Member Functions

 LNot (JSONLoader &json)
 
 LNot (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 LNot (const Type *type, const Expression *expr)
 
 LNot (Util::SourceInfo srcInfo, const Expression *expr)
 
 LNot (const Expression *expr)
 
void dbprint (std::ostream &out) const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::LNot const &a) const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Unary
 Operation_Unary (JSONLoader &json)
 
int getPrecedence () const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Unary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Unary
const Expressionexpr = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Unary
 Operation_Unary (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 Operation_Unary (const Type *type, const Expression *expr)
 
 Operation_Unary (Util::SourceInfo srcInfo, const Expression *expr)
 
 Operation_Unary (const Expression *expr)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::LOr
Inheritance diagram for IR::LOr:

Public Member Functions

 LOr (JSONLoader &json)
 
 LOr (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 LOr (const Type *type, const Expression *left, const Expression *right)
 
 LOr (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 LOr (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::LOr const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Lss
Inheritance diagram for IR::Lss:

Public Member Functions

 Lss (JSONLoader &json)
 
 Lss (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Lss (const Type *type, const Expression *left, const Expression *right)
 
 Lss (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Lss (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Lss const &a) const override
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Relation
 Operation_Relation (JSONLoader &json)
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Relation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Relation
 Operation_Relation (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Relation (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Mask
Inheritance diagram for IR::Mask:

Public Member Functions

 Mask (JSONLoader &json)
 
 Mask (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Mask (const Type *type, const Expression *left, const Expression *right)
 
 Mask (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Mask (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Mask const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Member
Inheritance diagram for IR::Member:

Public Member Functions

 Member (JSONLoader &json)
 
 Member (Util::SourceInfo srcInfo, const Type *type, const Expression *expr, ID member)
 
 Member (const Type *type, const Expression *expr, ID member)
 
 Member (Util::SourceInfo srcInfo, const Expression *expr, ID member)
 
 Member (const Expression *expr, ID member)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring getStringOp () const override
 
int lsb () const
 
int msb () const
 
cstring node_type_name () const override
 
virtual int offset_bits () const
 
bool operator== (IR::Member const &a) const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Operation_Unary
 Operation_Unary (JSONLoader &json)
 
int getPrecedence () const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Unary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

ID member
 
- Public Attributes inherited from IR::Operation_Unary
const Expressionexpr = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Protected Member Functions inherited from IR::Operation_Unary
 Operation_Unary (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 Operation_Unary (const Type *type, const Expression *expr)
 
 Operation_Unary (Util::SourceInfo srcInfo, const Expression *expr)
 
 Operation_Unary (const Expression *expr)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Metadata
Inheritance diagram for IR::Metadata:

Public Member Functions

 Metadata (ID n, const Type_StructLike *t)
 
 Metadata (JSONLoader &json)
 
 Metadata (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations)
 
 Metadata (ID type_name, ID name, const Annotations *annotations)
 
cstring node_type_name () const override
 
bool operator== (IR::Metadata const &a) const override
 
bool operator== (IR::HeaderOrMetadata const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::HeaderOrMetadata
 HeaderOrMetadata (ID n, const Type_StructLike *t)
 
 HeaderOrMetadata (JSONLoader &json)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
bool operator== (IR::HeaderOrMetadata const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::HeaderOrMetadata
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Attributes inherited from IR::HeaderOrMetadata
const Annotationsannotations = nullptr
 
ID name
 
const Type_StructLiketype = nullptr
 
ID type_name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::HeaderOrMetadata
 HeaderOrMetadata (Util::SourceInfo srcInfo, ID type_name, ID name, const Annotations *annotations)
 
 HeaderOrMetadata (ID type_name, ID name, const Annotations *annotations)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Meter
Inheritance diagram for IR::Meter:

Public Member Functions

 Meter (JSONLoader &json)
 
 Meter (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Meter (ID name, const Annotations *annotations)
 
 Meter (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Meter (const Annotations *annotations)
 
 Meter (Util::SourceInfo srcInfo, ID name)
 
 Meter (ID name)
 
 Meter (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
const TypegetType () const override
 
char const * kind () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Meter const &a) const override
 
bool operator== (IR::CounterOrMeter const &a) const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::CounterOrMeter
 CounterOrMeter (JSONLoader &json)
 
bool operator== (IR::CounterOrMeter const &a) const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
void settype (cstring t)
 
- Public Member Functions inherited from IR::Stateful
 Stateful (JSONLoader &json)
 
virtual bool indexed () const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
- Public Member Functions inherited from IR::Attached
 Attached (JSONLoader &json)
 
Attachedclone_rename (char const *ext) const
 
cstring Name () const override
 
bool operator== (IR::Attached const &a) const override
 
cstring toString () const override
 
void validate () const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::CounterOrMeter
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Stateful
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Attached
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

ID implementation = {}
 
const Expressionpre_color = nullptr
 
const Expressionresult = nullptr
 
- Public Attributes inherited from IR::CounterOrMeter
CounterType type = CounterType::NONE
 
- Public Attributes inherited from IR::Stateful
bool direct = false
 
int instance_count = -1
 
bool saturating = false
 
ID table = {}
 
- Public Attributes inherited from IR::Attached
const Annotationsannotations = Annotations::empty
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::CounterOrMeter
 CounterOrMeter (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 CounterOrMeter (ID name, const Annotations *annotations)
 
 CounterOrMeter (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 CounterOrMeter (const Annotations *annotations)
 
 CounterOrMeter (Util::SourceInfo srcInfo, ID name)
 
 CounterOrMeter (ID name)
 
 CounterOrMeter (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Stateful
 Stateful (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Stateful (ID name, const Annotations *annotations)
 
 Stateful (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Stateful (const Annotations *annotations)
 
 Stateful (Util::SourceInfo srcInfo, ID name)
 
 Stateful (ID name)
 
 Stateful (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Attached
 Attached (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Attached (ID name, const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Attached (const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, ID name)
 
 Attached (ID name)
 
 Attached (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::MethodCallExpression
Inheritance diagram for IR::MethodCallExpression:

Public Member Functions

 MethodCallExpression (JSONLoader &json)
 
 MethodCallExpression (Util::SourceInfo srcInfo, const Type *type, const Expression *method, const Vector< Type > *typeArguments, const Vector< Expression > *arguments)
 
 MethodCallExpression (const Type *type, const Expression *method, const Vector< Type > *typeArguments, const Vector< Expression > *arguments)
 
 MethodCallExpression (Util::SourceInfo srcInfo, const Expression *method, const Vector< Type > *typeArguments, const Vector< Expression > *arguments)
 
 MethodCallExpression (const Expression *method, const Vector< Type > *typeArguments, const Vector< Expression > *arguments)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::MethodCallExpression const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Vector< Expression > * arguments = nullptr
 
const Expressionmethod = nullptr
 
const Vector< Type > * typeArguments = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::MethodCallStatement
Inheritance diagram for IR::MethodCallStatement:

Public Member Functions

 MethodCallStatement (JSONLoader &json)
 
 MethodCallStatement (Util::SourceInfo srcInfo, const MethodCallExpression *methodCall)
 
 MethodCallStatement (const MethodCallExpression *methodCall)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::MethodCallStatement const &a) const override
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Statement
 Statement (JSONLoader &json)
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Statement
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const MethodCallExpressionmethodCall = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Statement
 Statement (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Mod
Inheritance diagram for IR::Mod:

Public Member Functions

 Mod (JSONLoader &json)
 
 Mod (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Mod (const Type *type, const Expression *left, const Expression *right)
 
 Mod (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Mod (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Mod const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Mul
Inheritance diagram for IR::Mul:

Public Member Functions

 Mul (JSONLoader &json)
 
 Mul (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Mul (const Type *type, const Expression *left, const Expression *right)
 
 Mul (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Mul (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Mul const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Mux
Inheritance diagram for IR::Mux:

Public Member Functions

 Mux (JSONLoader &json)
 
 Mux (Util::SourceInfo srcInfo, const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Mux (const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Mux (Util::SourceInfo srcInfo, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Mux (const Expression *e0, const Expression *e1, const Expression *e2)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Mux const &a) const override
 
bool operator== (IR::Operation_Ternary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation_Ternary
 Operation_Ternary (JSONLoader &json)
 
bool operator== (IR::Operation_Ternary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Ternary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Ternary
const Expressione0 = nullptr
 
const Expressione1 = nullptr
 
const Expressione2 = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Ternary
 Operation_Ternary (Util::SourceInfo srcInfo, const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Operation_Ternary (const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Operation_Ternary (Util::SourceInfo srcInfo, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Operation_Ternary (const Expression *e0, const Expression *e1, const Expression *e2)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::NamedCond
Inheritance diagram for IR::NamedCond:

Public Member Functions

 NamedCond (If const &i)
 
 NamedCond (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::NamedCond const &a) const override
 
bool operator== (IR::If const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::If
 If (JSONLoader &json)
 
 If (Util::SourceInfo srcInfo, const Type *type, const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
 If (const Type *type, const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
 If (Util::SourceInfo srcInfo, const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
 If (const Expression *pred, const Vector< Expression > *ifTrue, const Vector< Expression > *ifFalse)
 
void dbprint (std::ostream &out) const override
 
bool operator== (IR::If const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
static cstring unique_name ()
 
- Static Public Member Functions inherited from IR::If
static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

cstring name = unique_name()
 
- Public Attributes inherited from IR::If
const Vector< Expression > * ifFalse = nullptr
 
const Vector< Expression > * ifTrue = nullptr
 
const Expressionpred = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::NameList
Inheritance diagram for IR::NameList:

Public Member Functions

 NameList (Util::SourceInfo si, cstring n)
 
 NameList (JSONLoader &json)
 
 NameList (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::NameList const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

vector< IDnames = {}
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Neg
Inheritance diagram for IR::Neg:

Public Member Functions

 Neg (JSONLoader &json)
 
 Neg (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 Neg (const Type *type, const Expression *expr)
 
 Neg (Util::SourceInfo srcInfo, const Expression *expr)
 
 Neg (const Expression *expr)
 
void dbprint (std::ostream &out) const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Neg const &a) const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Unary
 Operation_Unary (JSONLoader &json)
 
int getPrecedence () const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Unary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Unary
const Expressionexpr = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Unary
 Operation_Unary (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 Operation_Unary (const Type *type, const Expression *expr)
 
 Operation_Unary (Util::SourceInfo srcInfo, const Expression *expr)
 
 Operation_Unary (const Expression *expr)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Neq
Inheritance diagram for IR::Neq:

Public Member Functions

 Neq (JSONLoader &json)
 
 Neq (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Neq (const Type *type, const Expression *left, const Expression *right)
 
 Neq (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Neq (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Neq const &a) const override
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Relation
 Operation_Relation (JSONLoader &json)
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Relation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Relation
 Operation_Relation (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Relation (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Operation_Binary
Inheritance diagram for IR::Operation_Binary:

Public Member Functions

 Operation_Binary (JSONLoader &json)
 
cstring node_type_name () const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
virtual int getPrecedence () const =0
 
virtual cstring getStringOp () const =0
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Protected Member Functions

 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Operation_Relation
Inheritance diagram for IR::Operation_Relation:

Public Member Functions

 Operation_Relation (JSONLoader &json)
 
cstring node_type_name () const override
 
bool operator== (IR::Operation_Relation const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
virtual int getPrecedence () const =0
 
virtual cstring getStringOp () const =0
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Protected Member Functions

 Operation_Relation (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Relation (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Relation (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Operation_Ternary
Inheritance diagram for IR::Operation_Ternary:

Public Member Functions

 Operation_Ternary (JSONLoader &json)
 
cstring node_type_name () const override
 
bool operator== (IR::Operation_Ternary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
virtual int getPrecedence () const =0
 
virtual cstring getStringOp () const =0
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressione0 = nullptr
 
const Expressione1 = nullptr
 
const Expressione2 = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Protected Member Functions

 Operation_Ternary (Util::SourceInfo srcInfo, const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Operation_Ternary (const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Operation_Ternary (Util::SourceInfo srcInfo, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Operation_Ternary (const Expression *e0, const Expression *e1, const Expression *e2)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Operation_Unary
Inheritance diagram for IR::Operation_Unary:

Public Member Functions

 Operation_Unary (JSONLoader &json)
 
int getPrecedence () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Operation_Unary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
virtual cstring getStringOp () const =0
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressionexpr = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Protected Member Functions

 Operation_Unary (Util::SourceInfo srcInfo, const Type *type, const Expression *expr)
 
 Operation_Unary (const Type *type, const Expression *expr)
 
 Operation_Unary (Util::SourceInfo srcInfo, const Expression *expr)
 
 Operation_Unary (const Expression *expr)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::P4Action
Inheritance diagram for IR::P4Action:

Public Member Functions

 P4Action (JSONLoader &json)
 
 P4Action (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const ParameterList *parameters, const BlockStatement *body)
 
 P4Action (ID name, const Annotations *annotations, const ParameterList *parameters, const BlockStatement *body)
 
void dbprint (std::ostream &out) const override
 
const AnnotationsgetAnnotations () const override
 
Util::Enumerator< const IDeclaration * > * getDeclarations () const override
 
const IDeclarationgetDeclByName (cstring name) const override
 
cstring node_type_name () const override
 
bool operator== (IR::P4Action const &a) const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Declaration
 Declaration (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const BlockStatementbody = nullptr
 
const ParameterListparameters = nullptr
 
- Public Attributes inherited from IR::Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Declaration
 Declaration (Util::SourceInfo srcInfo, ID name)
 
 Declaration (ID name)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::P4Control
Inheritance diagram for IR::P4Control:

Public Member Functions

 P4Control (JSONLoader &json)
 
 P4Control (Util::SourceInfo srcInfo, ID name, const Type_Control *type, const ParameterList *constructorParams, const IndexedVector< Declaration > *controlLocals, const BlockStatement *body)
 
 P4Control (ID name, const Type_Control *type, const ParameterList *constructorParams, const IndexedVector< Declaration > *controlLocals, const BlockStatement *body)
 
void dbprint (std::ostream &out) const override
 
const Type_MethodgetApplyMethodType () const override
 
const Type_MethodgetConstructorMethodType () const override
 The type of the constructor as a method.
 
const ParameterListgetConstructorParameters () const override
 
Util::Enumerator< const IDeclaration * > * getDeclarations () const override
 
const IDeclarationgetDeclByName (cstring name) const override
 
const TypeParametersgetTypeParameters () const override
 
cstring node_type_name () const override
 
bool operator== (IR::P4Control const &a) const override
 
bool operator== (IR::Type_Declaration const &a) const override
 
bool operator== (IR::Type const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Type_Declaration
 Type_Declaration (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
Type const * getP4Type () const override
 
bool operator== (IR::Type_Declaration const &a) const override
 
bool operator== (IR::Type const &a) const override
 
- Public Member Functions inherited from IR::Type
 Type (JSONLoader &json)
 
bool operator== (IR::Type const &a) const override
 
virtual int width_bits () const
 Well-defined only for types with fixed width.
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 
- Public Member Functions inherited from IR::IMayBeGenericType
Type const * toType () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type_Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const BlockStatementbody = nullptr
 
const ParameterListconstructorParams = nullptr
 
const IndexedVector< Declaration > * controlLocals = nullptr
 
const Type_Controltype = nullptr
 
- Public Attributes inherited from IR::Type_Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Public Types inherited from IR::Type
typedef Type_Bits Bits
 
typedef Type_Boolean Boolean
 
typedef Type_String String
 
typedef Type_Unknown Unknown
 
typedef Type_Varbits Varbits
 
typedef Type_Void Void
 
- Static Public Attributes inherited from IR::IApply
static const cstring applyMethodName = "apply"
 
- Protected Member Functions inherited from IR::Type_Declaration
 Type_Declaration (Util::SourceInfo srcInfo, ID name)
 
 Type_Declaration (ID name)
 
- Protected Member Functions inherited from IR::Type
 Type (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::P4Parser
Inheritance diagram for IR::P4Parser:

Public Member Functions

 P4Parser (JSONLoader &json)
 
 P4Parser (Util::SourceInfo srcInfo, ID name, const Type_Parser *type, const ParameterList *constructorParams, const IndexedVector< Declaration > *parserLocals, const IndexedVector< ParserState > *states)
 
 P4Parser (ID name, const Type_Parser *type, const ParameterList *constructorParams, const IndexedVector< Declaration > *parserLocals, const IndexedVector< ParserState > *states)
 
void checkDuplicates () const
 
void dbprint (std::ostream &out) const override
 
const Type_MethodgetApplyMethodType () const override
 
const Type_MethodgetConstructorMethodType () const override
 The type of the constructor as a method.
 
const ParameterListgetConstructorParameters () const override
 
Util::Enumerator< const IDeclaration * > * getDeclarations () const override
 
const IDeclarationgetDeclByName (cstring name) const override
 
const TypeParametersgetTypeParameters () const override
 
cstring node_type_name () const override
 
bool operator== (IR::P4Parser const &a) const override
 
bool operator== (IR::Type_Declaration const &a) const override
 
bool operator== (IR::Type const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Type_Declaration
 Type_Declaration (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
Type const * getP4Type () const override
 
bool operator== (IR::Type_Declaration const &a) const override
 
bool operator== (IR::Type const &a) const override
 
- Public Member Functions inherited from IR::Type
 Type (JSONLoader &json)
 
bool operator== (IR::Type const &a) const override
 
virtual int width_bits () const
 Well-defined only for types with fixed width.
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 
- Public Member Functions inherited from IR::IMayBeGenericType
Type const * toType () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type_Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const ParameterListconstructorParams = nullptr
 
const IndexedVector< Declaration > * parserLocals = nullptr
 
const IndexedVector< ParserState > * states = nullptr
 
const Type_Parsertype = nullptr
 
- Public Attributes inherited from IR::Type_Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Public Types inherited from IR::Type
typedef Type_Bits Bits
 
typedef Type_Boolean Boolean
 
typedef Type_String String
 
typedef Type_Unknown Unknown
 
typedef Type_Varbits Varbits
 
typedef Type_Void Void
 
- Static Public Attributes inherited from IR::IApply
static const cstring applyMethodName = "apply"
 
- Protected Member Functions inherited from IR::Type_Declaration
 Type_Declaration (Util::SourceInfo srcInfo, ID name)
 
 Type_Declaration (ID name)
 
- Protected Member Functions inherited from IR::Type
 Type (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::P4Program
Inheritance diagram for IR::P4Program:

Public Member Functions

 P4Program (JSONLoader &json)
 
 P4Program (Util::SourceInfo srcInfo, const IndexedVector< Node > *declarations)
 
 P4Program (const IndexedVector< Node > *declarations)
 
void dbprint (std::ostream &out) const override
 
Util::Enumerator< const IDeclaration * > * getDeclarations () const override
 
const IDeclarationgetDeclByName (cstring name) const override
 
cstring node_type_name () const override
 
bool operator== (IR::P4Program const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const IndexedVector< Node > * declarations = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Static Public Attributes

static const cstring main = "main"
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::P4Table
Inheritance diagram for IR::P4Table:

Public Member Functions

 P4Table (JSONLoader &json)
 
 P4Table (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const TableProperties *properties)
 
 P4Table (ID name, const Annotations *annotations, const TableProperties *properties)
 
void dbprint (std::ostream &out) const override
 
const ActionListgetActionList () const
 
const AnnotationsgetAnnotations () const override
 
const Type_MethodgetApplyMethodType () const override
 
const ConstantgetConstantProperty (cstring name) const
 
const ExpressiongetDefaultAction () const
 
const EntriesListgetEntries () const
 
const KeygetKey () const
 
cstring node_type_name () const override
 
bool operator== (IR::P4Table const &a) const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Declaration
 Declaration (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const TablePropertiesproperties = nullptr
 
- Public Attributes inherited from IR::Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Static Public Attributes inherited from IR::IApply
static const cstring applyMethodName = "apply"
 
- Protected Member Functions inherited from IR::Declaration
 Declaration (Util::SourceInfo srcInfo, ID name)
 
 Declaration (ID name)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::PackageBlock
Inheritance diagram for IR::PackageBlock:

Public Member Functions

 PackageBlock (JSONLoader &json)
 
 PackageBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType, const Type_Package *type)
 
 PackageBlock (const Node *node, const Type *instanceType, const Type_Package *type)
 
const ParameterListgetConstructorParameters () const override
 
cstring node_type_name () const override
 
bool operator== (IR::PackageBlock const &a) const override
 
bool operator== (IR::InstantiatedBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::InstantiatedBlock
 InstantiatedBlock (JSONLoader &json)
 
virtual void dbprint (std::ostream &out) const override
 
const CompileTimeValuegetParameterValue (cstring paramName) const
 
void instantiate (std::vector< const CompileTimeValue * > *args)
 
bool operator== (IR::InstantiatedBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
- Public Member Functions inherited from IR::Block
 Block (JSONLoader &json)
 
virtual void dbprint_recursive (std::ostream &out) const
 
const CompileTimeValuegetValue (const Node *node) const
 
bool operator== (IR::Block const &a) const override
 
void setValue (const Node *node, const CompileTimeValue *value)
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::InstantiatedBlock
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Block
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Type_Packagetype = nullptr
 
- Public Attributes inherited from IR::InstantiatedBlock
const TypeinstanceType = nullptr
 
- Public Attributes inherited from IR::Block
ordered_map< const Node *, const CompileTimeValue * > constantValue = {}
 
const Nodenode = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::InstantiatedBlock
 InstantiatedBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType)
 
 InstantiatedBlock (const Node *node, const Type *instanceType)
 
- Protected Member Functions inherited from IR::Block
 Block (Util::SourceInfo srcInfo, const Node *node)
 
 Block (const Node *node)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ParserBlock
Inheritance diagram for IR::ParserBlock:

Public Member Functions

 ParserBlock (JSONLoader &json)
 
 ParserBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType, const P4Parser *container)
 
 ParserBlock (const Node *node, const Type *instanceType, const P4Parser *container)
 
const ParameterListgetConstructorParameters () const override
 
cstring node_type_name () const override
 
bool operator== (IR::ParserBlock const &a) const override
 
bool operator== (IR::InstantiatedBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::InstantiatedBlock
 InstantiatedBlock (JSONLoader &json)
 
virtual void dbprint (std::ostream &out) const override
 
const CompileTimeValuegetParameterValue (cstring paramName) const
 
void instantiate (std::vector< const CompileTimeValue * > *args)
 
bool operator== (IR::InstantiatedBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
- Public Member Functions inherited from IR::Block
 Block (JSONLoader &json)
 
virtual void dbprint_recursive (std::ostream &out) const
 
const CompileTimeValuegetValue (const Node *node) const
 
bool operator== (IR::Block const &a) const override
 
void setValue (const Node *node, const CompileTimeValue *value)
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::InstantiatedBlock
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Block
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const P4Parsercontainer = nullptr
 
- Public Attributes inherited from IR::InstantiatedBlock
const TypeinstanceType = nullptr
 
- Public Attributes inherited from IR::Block
ordered_map< const Node *, const CompileTimeValue * > constantValue = {}
 
const Nodenode = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::InstantiatedBlock
 InstantiatedBlock (Util::SourceInfo srcInfo, const Node *node, const Type *instanceType)
 
 InstantiatedBlock (const Node *node, const Type *instanceType)
 
- Protected Member Functions inherited from IR::Block
 Block (Util::SourceInfo srcInfo, const Node *node)
 
 Block (const Node *node)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ParserException
Inheritance diagram for IR::ParserException:

Public Member Functions

 ParserException (JSONLoader &json)
 
 ParserException (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ParserException const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ParserState

P4 compiler IR definition file. To understand this you really have to understand the shape of the generated IR code.

The IR builder "knows" the following methods for a class T:

cstring toString() const override; void dbprint(std::ostream &out) const override; bool operator==(const T &a) const; void validate() const; const char *node_type_name() const; void visit_children(Visitor &v); void dump_fields(std::ostream& out) const;

C comments are ignored. C++ line comments can appear in some places and are emitted in the output.

#emit/#end -> copy text literally to output header file #emitimpl/#end -> copy text literally to output C++ file #noXXX -> do not emit the specified implementation for the XXX method e.g., #noconstructor, #nodbprint, #novisit_children #apply -> generate apply overload for visitors method{ ... } -> specifies an implementation for a default method method can be 'operator=='

Some assignments are turned into methods returning constant values: stringOp -> cstring getStringOp() const precedence -> int getPrecedence() const

Inheritance diagram for IR::ParserState:

Public Member Functions

 ParserState (JSONLoader &json)
 
 ParserState (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const IndexedVector< StatOrDecl > *components, const Expression *selectExpression)
 
 ParserState (ID name, const Annotations *annotations, const IndexedVector< StatOrDecl > *components, const Expression *selectExpression)
 
void dbprint (std::ostream &out) const override
 
const AnnotationsgetAnnotations () const override
 
Util::Enumerator< const IDeclaration * > * getDeclarations () const override
 
IDeclaration const * getDeclByName (cstring name) const override
 
bool isBuiltin () const
 
cstring node_type_name () const override
 
bool operator== (IR::ParserState const &a) const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::Declaration
 Declaration (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const IndexedVector< StatOrDecl > * components = nullptr
 
const ExpressionselectExpression = nullptr
 
- Public Attributes inherited from IR::Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Static Public Attributes

static const cstring accept = "accept"
 
static const cstring reject = "reject"
 
static const cstring start = "start"
 
static const cstring verify = "verify"
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Declaration
 Declaration (Util::SourceInfo srcInfo, ID name)
 
 Declaration (ID name)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::PathExpression
Inheritance diagram for IR::PathExpression:

Public Member Functions

 PathExpression (IR::ID id)
 
 PathExpression (JSONLoader &json)
 
 PathExpression (Util::SourceInfo srcInfo, const Type *type, const Path *path)
 
 PathExpression (const Type *type, const Path *path)
 
 PathExpression (Util::SourceInfo srcInfo, const Path *path)
 
 PathExpression (const Path *path)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::PathExpression const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Pathpath = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Primitive
Inheritance diagram for IR::Primitive:

Public Member Functions

 Primitive (cstring n, const Vector< Expression > *l)
 
 Primitive (Util::SourceInfo si, cstring n, const Vector< Expression > *l)
 
 Primitive (cstring n, const Expression *a1)
 
 Primitive (Util::SourceInfo si, cstring n, const Expression *a1)
 
 Primitive (cstring n, const Expression *a1, const Expression *a2)
 
 Primitive (Util::SourceInfo si, cstring n, const Expression *a1, const Expression *a2)
 
 Primitive (cstring n, const Expression *a1, const Vector< Expression > *a2)
 
 Primitive (Util::SourceInfo si, cstring n, const Expression *a1, const Vector< Expression > *a2)
 
 Primitive (cstring n, const Expression *a1, const Expression *a2, const Expression *a3)
 
 Primitive (Util::SourceInfo si, cstring n, const Expression *a1, const Expression *a2, const Expression *a3)
 
 Primitive (JSONLoader &json)
 
 Primitive (Util::SourceInfo srcInfo, const Type *type, cstring name)
 
 Primitive (const Type *type, cstring name)
 
 Primitive (Util::SourceInfo srcInfo, cstring name)
 
 Primitive (cstring name)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
virtual const TypeinferOperandType (int operand) const
 
virtual unsigned inferOperandTypes () const
 
virtual bool isOutput (int operand_index) const
 
cstring node_type_name () const override
 
bool operator== (IR::Primitive const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
virtual void typecheck () const
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

cstring name
 
Vector< Expressionoperands = {}
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::PrimitiveAction
Inheritance diagram for IR::PrimitiveAction:

Public Member Functions

 PrimitiveAction (JSONLoader &json)
 
 PrimitiveAction (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::PrimitiveAction const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Property
Inheritance diagram for IR::Property:

Public Member Functions

 Property (JSONLoader &json)
 
 Property (Util::SourceInfo srcInfo, ID name, const Annotations *annotations, const PropertyValue *value, bool isConstant)
 
 Property (ID name, const Annotations *annotations, const PropertyValue *value, bool isConstant)
 
 Property (Util::SourceInfo srcInfo, ID name, const PropertyValue *value, bool isConstant)
 
 Property (ID name, const PropertyValue *value, bool isConstant)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
const AnnotationsgetAnnotations () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Property const &a) const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Declaration
 Declaration (JSONLoader &json)
 
ID getName () const override
 
bool operator== (IR::Declaration const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = Annotations::empty
 
bool isConstant
 
const PropertyValuevalue = nullptr
 
- Public Attributes inherited from IR::Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Declaration
 Declaration (Util::SourceInfo srcInfo, ID name)
 
 Declaration (ID name)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::PropertyValue
Inheritance diagram for IR::PropertyValue:

Public Member Functions

 PropertyValue (JSONLoader &json)
 
cstring node_type_name () const override
 
bool operator== (IR::PropertyValue const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Protected Member Functions

 PropertyValue (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 

Additional Inherited Members

- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Range
Inheritance diagram for IR::Range:

Public Member Functions

 Range (JSONLoader &json)
 
 Range (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Range (const Type *type, const Expression *left, const Expression *right)
 
 Range (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Range (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Range const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Register
Inheritance diagram for IR::Register:

Public Member Functions

 Register (JSONLoader &json)
 
 Register (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Register (ID name, const Annotations *annotations)
 
 Register (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Register (const Annotations *annotations)
 
 Register (Util::SourceInfo srcInfo, ID name)
 
 Register (ID name)
 
 Register (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
const TypegetType () const override
 
char const * kind () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Register const &a) const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Stateful
 Stateful (JSONLoader &json)
 
virtual bool indexed () const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
- Public Member Functions inherited from IR::Attached
 Attached (JSONLoader &json)
 
Attachedclone_rename (char const *ext) const
 
cstring Name () const override
 
bool operator== (IR::Attached const &a) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Stateful
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Attached
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

ID layout = {}
 
bool signed_ = false
 
int width = -1
 
- Public Attributes inherited from IR::Stateful
bool direct = false
 
int instance_count = -1
 
bool saturating = false
 
ID table = {}
 
- Public Attributes inherited from IR::Attached
const Annotationsannotations = Annotations::empty
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Stateful
 Stateful (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Stateful (ID name, const Annotations *annotations)
 
 Stateful (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Stateful (const Annotations *annotations)
 
 Stateful (Util::SourceInfo srcInfo, ID name)
 
 Stateful (ID name)
 
 Stateful (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Attached
 Attached (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Attached (ID name, const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Attached (const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, ID name)
 
 Attached (ID name)
 
 Attached (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ReturnStatement
Inheritance diagram for IR::ReturnStatement:

Public Member Functions

 ReturnStatement (JSONLoader &json)
 
 ReturnStatement (Util::SourceInfo srcInfo, const Expression *expression)
 
 ReturnStatement (const Expression *expression)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::ReturnStatement const &a) const override
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Statement
 Statement (JSONLoader &json)
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Statement
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressionexpression = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Statement
 Statement (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::SelectCase
Inheritance diagram for IR::SelectCase:

Public Member Functions

 SelectCase (JSONLoader &json)
 
 SelectCase (Util::SourceInfo srcInfo, const Expression *keyset, const PathExpression *state)
 
 SelectCase (const Expression *keyset, const PathExpression *state)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::SelectCase const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressionkeyset = nullptr
 
const PathExpressionstate = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::SelectExpression
Inheritance diagram for IR::SelectExpression:

Public Member Functions

 SelectExpression (JSONLoader &json)
 
 SelectExpression (Util::SourceInfo srcInfo, const Type *type, const ListExpression *select, Vector< SelectCase > selectCases)
 
 SelectExpression (const Type *type, const ListExpression *select, Vector< SelectCase > selectCases)
 
 SelectExpression (Util::SourceInfo srcInfo, const ListExpression *select, Vector< SelectCase > selectCases)
 
 SelectExpression (const ListExpression *select, Vector< SelectCase > selectCases)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::SelectExpression const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const ListExpressionselect = nullptr
 
Vector< SelectCaseselectCases
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Shl
Inheritance diagram for IR::Shl:

Public Member Functions

 Shl (JSONLoader &json)
 
 Shl (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Shl (const Type *type, const Expression *left, const Expression *right)
 
 Shl (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Shl (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Shl const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Shr
Inheritance diagram for IR::Shr:

Public Member Functions

 Shr (JSONLoader &json)
 
 Shr (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Shr (const Type *type, const Expression *left, const Expression *right)
 
 Shr (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Shr (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Shr const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Slice
Inheritance diagram for IR::Slice:

Public Member Functions

 Slice (const Expression *a, int hi, int lo)
 
 Slice (Util::SourceInfo si, const Expression *a, int hi, int lo)
 
 Slice (JSONLoader &json)
 
 Slice (Util::SourceInfo srcInfo, const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Slice (const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Slice (Util::SourceInfo srcInfo, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Slice (const Expression *e0, const Expression *e1, const Expression *e2)
 
void dbprint (std::ostream &out) const override
 
int getH () const
 
int getL () const
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Slice const &a) const override
 
bool operator== (IR::Operation_Ternary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Operation_Ternary
 Operation_Ternary (JSONLoader &json)
 
bool operator== (IR::Operation_Ternary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Ternary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Ternary
const Expressione0 = nullptr
 
const Expressione1 = nullptr
 
const Expressione2 = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Ternary
 Operation_Ternary (Util::SourceInfo srcInfo, const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Operation_Ternary (const Type *type, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Operation_Ternary (Util::SourceInfo srcInfo, const Expression *e0, const Expression *e1, const Expression *e2)
 
 Operation_Ternary (const Expression *e0, const Expression *e1, const Expression *e2)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Stateful
Inheritance diagram for IR::Stateful:

Public Member Functions

 Stateful (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
virtual bool indexed () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Stateful const &a) const override
 
bool operator== (IR::Attached const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Attached
 Attached (JSONLoader &json)
 
Attachedclone_rename (char const *ext) const
 
void dbprint (std::ostream &out) const override
 
const TypegetType () const override
 
virtual char const * kind () const =0
 
cstring Name () const override
 
bool operator== (IR::Attached const &a) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Attached
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

bool direct = false
 
int instance_count = -1
 
bool saturating = false
 
ID table = {}
 
- Public Attributes inherited from IR::Attached
const Annotationsannotations = Annotations::empty
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Protected Member Functions

 Stateful (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Stateful (ID name, const Annotations *annotations)
 
 Stateful (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Stateful (const Annotations *annotations)
 
 Stateful (Util::SourceInfo srcInfo, ID name)
 
 Stateful (ID name)
 
 Stateful (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Attached
 Attached (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 Attached (ID name, const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 Attached (const Annotations *annotations)
 
 Attached (Util::SourceInfo srcInfo, ID name)
 
 Attached (ID name)
 
 Attached (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 

Additional Inherited Members

- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Statement
Inheritance diagram for IR::Statement:

Public Member Functions

 Statement (JSONLoader &json)
 
cstring node_type_name () const override
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Protected Member Functions

 Statement (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 

Additional Inherited Members

- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::StringLiteral
Inheritance diagram for IR::StringLiteral:

Public Member Functions

 StringLiteral (ID v)
 
 StringLiteral (JSONLoader &json)
 
 StringLiteral (Util::SourceInfo srcInfo, const Type *type, cstring value)
 
 StringLiteral (const Type *type, cstring value)
 
 StringLiteral (Util::SourceInfo srcInfo, cstring value)
 
 StringLiteral (cstring value)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
 operator IR::ID () const
 
bool operator== (IR::StringLiteral const &a) const override
 
bool operator== (IR::Literal const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
- Public Member Functions inherited from IR::Literal
 Literal (JSONLoader &json)
 
bool operator== (IR::Literal const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Literal
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

cstring value
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Literal
 Literal (Util::SourceInfo srcInfo, const Type *type)
 
 Literal (const Type *type)
 
 Literal (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Sub
Inheritance diagram for IR::Sub:

Public Member Functions

 Sub (JSONLoader &json)
 
 Sub (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Sub (const Type *type, const Expression *left, const Expression *right)
 
 Sub (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Sub (const Expression *left, const Expression *right)
 
void dbprint (std::ostream &out) const override
 
int getPrecedence () const override
 
cstring getStringOp () const override
 
cstring node_type_name () const override
 
bool operator== (IR::Sub const &a) const override
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Operation_Binary
 Operation_Binary (JSONLoader &json)
 
bool operator== (IR::Operation_Binary const &a) const override
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Operation
 Operation (JSONLoader &json)
 
bool operator== (IR::Operation const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation_Binary
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Operation
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Operation
typedef Operation_Binary Binary
 
typedef Operation_Relation Relation
 
typedef Operation_Unary Unary
 
- Public Attributes inherited from IR::Operation_Binary
const Expressionleft = nullptr
 
const Expressionright = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Operation_Binary
 Operation_Binary (Util::SourceInfo srcInfo, const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (const Type *type, const Expression *left, const Expression *right)
 
 Operation_Binary (Util::SourceInfo srcInfo, const Expression *left, const Expression *right)
 
 Operation_Binary (const Expression *left, const Expression *right)
 
- Protected Member Functions inherited from IR::Operation
 Operation (Util::SourceInfo srcInfo, const Type *type)
 
 Operation (const Type *type)
 
 Operation (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::SwitchCase
Inheritance diagram for IR::SwitchCase:

Public Member Functions

 SwitchCase (JSONLoader &json)
 
 SwitchCase (Util::SourceInfo srcInfo, const Expression *label, const Statement *statement)
 
 SwitchCase (const Expression *label, const Statement *statement)
 
cstring node_type_name () const override
 
bool operator== (IR::SwitchCase const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Expressionlabel = nullptr
 
const Statementstatement = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::SwitchStatement
Inheritance diagram for IR::SwitchStatement:

Public Member Functions

 SwitchStatement (JSONLoader &json)
 
 SwitchStatement (Util::SourceInfo srcInfo, const Expression *expression, Vector< SwitchCase > cases)
 
 SwitchStatement (const Expression *expression, Vector< SwitchCase > cases)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::SwitchStatement const &a) const override
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Statement
 Statement (JSONLoader &json)
 
bool operator== (IR::Statement const &a) const override
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::StatOrDecl
 StatOrDecl (JSONLoader &json)
 
bool operator== (IR::StatOrDecl const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Statement
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::StatOrDecl
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

Vector< SwitchCasecases
 
const Expressionexpression = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Statement
 Statement (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::StatOrDecl
 StatOrDecl (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::TableBlock
Inheritance diagram for IR::TableBlock:

Public Member Functions

 TableBlock (JSONLoader &json)
 
 TableBlock (Util::SourceInfo srcInfo, const Node *node, const P4Table *container)
 
 TableBlock (const Node *node, const P4Table *container)
 
cstring node_type_name () const override
 
bool operator== (IR::TableBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Block
 Block (JSONLoader &json)
 
virtual void dbprint (std::ostream &out) const override
 
virtual void dbprint_recursive (std::ostream &out) const
 
const CompileTimeValuegetValue (const Node *node) const
 
bool operator== (IR::Block const &a) const override
 
void setValue (const Node *node, const CompileTimeValue *value)
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Block
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const P4Tablecontainer = nullptr
 
- Public Attributes inherited from IR::Block
ordered_map< const Node *, const CompileTimeValue * > constantValue = {}
 
const Nodenode = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Block
 Block (Util::SourceInfo srcInfo, const Node *node)
 
 Block (const Node *node)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::TableProperties
Inheritance diagram for IR::TableProperties:

Public Member Functions

 TableProperties (JSONLoader &json)
 
 TableProperties (Util::SourceInfo srcInfo, const IndexedVector< Property > *properties)
 
 TableProperties (const IndexedVector< Property > *properties)
 
Util::Enumerator< const IDeclaration * > * getDeclarations () const override
 
const IDeclarationgetDeclByName (cstring name) const override
 
const PropertygetProperty (cstring name) const
 
cstring node_type_name () const override
 
bool operator== (IR::TableProperties const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const IndexedVector< Property > * properties = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Static Public Attributes

static const cstring actionsPropertyName = "actions"
 
static const cstring defaultActionPropertyName = "default_action"
 
static const cstring entriesPropertyName = "entries"
 
static const cstring keyPropertyName = "key"
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::This
Inheritance diagram for IR::This:

Public Member Functions

 This (JSONLoader &json)
 
 This (Util::SourceInfo srcInfo, const Type *type)
 
 This (const Type *type)
 
 This (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::This const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

int id = nextId++
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::ToplevelBlock
Inheritance diagram for IR::ToplevelBlock:

Public Member Functions

 ToplevelBlock (JSONLoader &json)
 
 ToplevelBlock (Util::SourceInfo srcInfo, const Node *node)
 
 ToplevelBlock (const Node *node)
 
const PackageBlockgetMain () const
 
const P4ProgramgetProgram () const
 
cstring node_type_name () const override
 
bool operator== (IR::ToplevelBlock const &a) const override
 
bool operator== (IR::Block const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
- Public Member Functions inherited from IR::Block
 Block (JSONLoader &json)
 
virtual void dbprint (std::ostream &out) const override
 
virtual void dbprint_recursive (std::ostream &out) const
 
const CompileTimeValuegetValue (const Node *node) const
 
bool operator== (IR::Block const &a) const override
 
void setValue (const Node *node, const CompileTimeValue *value)
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Block
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Attributes inherited from IR::Block
ordered_map< const Node *, const CompileTimeValue * > constantValue = {}
 
const Nodenode = nullptr
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Block
 Block (Util::SourceInfo srcInfo, const Node *node)
 
 Block (const Node *node)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Type_AnyTable
Inheritance diagram for IR::Type_AnyTable:

Public Member Functions

 Type_AnyTable (JSONLoader &json)
 
 Type_AnyTable (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Type_AnyTable const &a) const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Type_Base
 Type_Base (JSONLoader &json)
 
Type const * getP4Type () const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
- Public Member Functions inherited from IR::Type
 Type (JSONLoader &json)
 
bool operator== (IR::Type const &a) const override
 
virtual int width_bits () const
 Well-defined only for types with fixed width.
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static const Type_AnyTableget ()
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type_Base
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Type
typedef Type_Bits Bits
 
typedef Type_Boolean Boolean
 
typedef Type_String String
 
typedef Type_Unknown Unknown
 
typedef Type_Varbits Varbits
 
typedef Type_Void Void
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Type_Base
 Type_Base (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Type
 Type (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Type_Block
Inheritance diagram for IR::Type_Block:

Public Member Functions

 Type_Block (JSONLoader &json)
 
 Type_Block (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Type_Block const &a) const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Type_Base
 Type_Base (JSONLoader &json)
 
Type const * getP4Type () const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
- Public Member Functions inherited from IR::Type
 Type (JSONLoader &json)
 
bool operator== (IR::Type const &a) const override
 
virtual int width_bits () const
 Well-defined only for types with fixed width.
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static const Type_Blockget ()
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type_Base
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Type
typedef Type_Bits Bits
 
typedef Type_Boolean Boolean
 
typedef Type_String String
 
typedef Type_Unknown Unknown
 
typedef Type_Varbits Varbits
 
typedef Type_Void Void
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Type_Base
 Type_Base (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Type
 Type (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Type_Counter
Inheritance diagram for IR::Type_Counter:

Public Member Functions

 Type_Counter (JSONLoader &json)
 
 Type_Counter (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Type_Counter const &a) const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Type_Base
 Type_Base (JSONLoader &json)
 
Type const * getP4Type () const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
- Public Member Functions inherited from IR::Type
 Type (JSONLoader &json)
 
bool operator== (IR::Type const &a) const override
 
virtual int width_bits () const
 Well-defined only for types with fixed width.
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static const Type_Counterget ()
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type_Base
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Type
typedef Type_Bits Bits
 
typedef Type_Boolean Boolean
 
typedef Type_String String
 
typedef Type_Unknown Unknown
 
typedef Type_Varbits Varbits
 
typedef Type_Void Void
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Type_Base
 Type_Base (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Type
 Type (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Type_Error
Inheritance diagram for IR::Type_Error:

Public Member Functions

 Type_Error (JSONLoader &json)
 
 Type_Error (Util::SourceInfo srcInfo, ID name, const IndexedVector< Declaration_ID > *members)
 
 Type_Error (ID name, const IndexedVector< Declaration_ID > *members)
 
void dbprint (std::ostream &out) const override
 
Util::Enumerator< const IDeclaration * > * getDeclarations () const override
 
const IDeclarationgetDeclByName (cstring name) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Type_Error const &a) const override
 
bool operator== (IR::Type_Declaration const &a) const override
 
bool operator== (IR::Type const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 
- Public Member Functions inherited from IR::Type_Declaration
 Type_Declaration (JSONLoader &json)
 
void dump_fields (std::ostream &out) const override
 
ID getName () const override
 
Type const * getP4Type () const override
 
bool operator== (IR::Type_Declaration const &a) const override
 
bool operator== (IR::Type const &a) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Type
 Type (JSONLoader &json)
 
bool operator== (IR::Type const &a) const override
 
virtual int width_bits () const
 Well-defined only for types with fixed width.
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::IDeclaration
virtual cstring externalName (cstring replace=cstring()) const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type_Declaration
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const IndexedVector< Declaration_ID > * members = nullptr
 
- Public Attributes inherited from IR::Type_Declaration
int declid = nextId++
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Static Public Attributes

static const cstring error = "error"
 

Additional Inherited Members

- Public Types inherited from IR::Type
typedef Type_Bits Bits
 
typedef Type_Boolean Boolean
 
typedef Type_String String
 
typedef Type_Unknown Unknown
 
typedef Type_Varbits Varbits
 
typedef Type_Void Void
 
- Protected Member Functions inherited from IR::Type_Declaration
 Type_Declaration (Util::SourceInfo srcInfo, ID name)
 
 Type_Declaration (ID name)
 
- Protected Member Functions inherited from IR::Type
 Type (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Type_Expression
Inheritance diagram for IR::Type_Expression:

Public Member Functions

 Type_Expression (JSONLoader &json)
 
 Type_Expression (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Type_Expression const &a) const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Type_Base
 Type_Base (JSONLoader &json)
 
Type const * getP4Type () const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
- Public Member Functions inherited from IR::Type
 Type (JSONLoader &json)
 
bool operator== (IR::Type const &a) const override
 
virtual int width_bits () const
 Well-defined only for types with fixed width.
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static const Type_Expressionget ()
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type_Base
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Type
typedef Type_Bits Bits
 
typedef Type_Boolean Boolean
 
typedef Type_String String
 
typedef Type_Unknown Unknown
 
typedef Type_Varbits Varbits
 
typedef Type_Void Void
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Type_Base
 Type_Base (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Type
 Type (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Type_FieldListCalculation
Inheritance diagram for IR::Type_FieldListCalculation:

Public Member Functions

 Type_FieldListCalculation (JSONLoader &json)
 
 Type_FieldListCalculation (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Type_FieldListCalculation const &a) const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Type_Base
 Type_Base (JSONLoader &json)
 
Type const * getP4Type () const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
- Public Member Functions inherited from IR::Type
 Type (JSONLoader &json)
 
bool operator== (IR::Type const &a) const override
 
virtual int width_bits () const
 Well-defined only for types with fixed width.
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static const Type_FieldListCalculationget ()
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type_Base
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Type
typedef Type_Bits Bits
 
typedef Type_Boolean Boolean
 
typedef Type_String String
 
typedef Type_Unknown Unknown
 
typedef Type_Varbits Varbits
 
typedef Type_Void Void
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Type_Base
 Type_Base (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Type
 Type (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Type_Meter
Inheritance diagram for IR::Type_Meter:

Public Member Functions

 Type_Meter (JSONLoader &json)
 
 Type_Meter (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Type_Meter const &a) const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Type_Base
 Type_Base (JSONLoader &json)
 
Type const * getP4Type () const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
- Public Member Functions inherited from IR::Type
 Type (JSONLoader &json)
 
bool operator== (IR::Type const &a) const override
 
virtual int width_bits () const
 Well-defined only for types with fixed width.
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static const Type_Meterget ()
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type_Base
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Type
typedef Type_Bits Bits
 
typedef Type_Boolean Boolean
 
typedef Type_String String
 
typedef Type_Unknown Unknown
 
typedef Type_Varbits Varbits
 
typedef Type_Void Void
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Type_Base
 Type_Base (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Type
 Type (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::Type_Register
Inheritance diagram for IR::Type_Register:

Public Member Functions

 Type_Register (JSONLoader &json)
 
 Type_Register (Util::SourceInfo srcInfo)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::Type_Register const &a) const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
- Public Member Functions inherited from IR::Type_Base
 Type_Base (JSONLoader &json)
 
Type const * getP4Type () const override
 
bool operator== (IR::Type_Base const &a) const override
 
bool operator== (IR::Type const &a) const override
 
- Public Member Functions inherited from IR::Type
 Type (JSONLoader &json)
 
bool operator== (IR::Type const &a) const override
 
virtual int width_bits () const
 Well-defined only for types with fixed width.
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
virtual void validate () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static const Type_Registerget ()
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type_Base
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Type
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Additional Inherited Members

- Public Types inherited from IR::Type
typedef Type_Bits Bits
 
typedef Type_Boolean Boolean
 
typedef Type_String String
 
typedef Type_Unknown Unknown
 
typedef Type_Varbits Varbits
 
typedef Type_Void Void
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 
- Protected Member Functions inherited from IR::Type_Base
 Type_Base (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Type
 Type (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::TypeNameExpression
Inheritance diagram for IR::TypeNameExpression:

Public Member Functions

 TypeNameExpression (ID id)
 
 TypeNameExpression (JSONLoader &json)
 
 TypeNameExpression (Util::SourceInfo srcInfo, const Type *type, const Type_Name *typeName)
 
 TypeNameExpression (const Type *type, const Type_Name *typeName)
 
 TypeNameExpression (Util::SourceInfo srcInfo, const Type_Name *typeName)
 
 TypeNameExpression (const Type_Name *typeName)
 
void dbprint (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::TypeNameExpression const &a) const override
 
bool operator== (IR::Expression const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Expression
 Expression (JSONLoader &json)
 
bool operator== (IR::Expression const &a) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Expression
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Type_NametypeName = nullptr
 
- Public Attributes inherited from IR::Expression
const Typetype = Type::Unknown::get()
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Expression
 Expression (Util::SourceInfo srcInfo, const Type *type)
 
 Expression (const Type *type)
 
 Expression (Util::SourceInfo srcInfo)
 
- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::V1Control
Inheritance diagram for IR::V1Control:

Public Member Functions

 V1Control (ID n)
 
 V1Control (Util::SourceInfo si, ID n)
 
 V1Control (JSONLoader &json)
 
 V1Control (Util::SourceInfo srcInfo, ID name, const Vector< Expression > *code, const Annotations *annotations)
 
 V1Control (ID name, const Vector< Expression > *code, const Annotations *annotations)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::V1Control const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const Vector< Expression > * code = nullptr
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::v1HeaderType
Inheritance diagram for IR::v1HeaderType:

Public Member Functions

 v1HeaderType (Type_Struct const *m, Type_Header const *h=nullptr)
 
 v1HeaderType (JSONLoader &json)
 
 v1HeaderType (Util::SourceInfo srcInfo, ID name, const Type_Struct *as_metadata, const Type_Header *as_header)
 
 v1HeaderType (ID name, const Type_Struct *as_metadata, const Type_Header *as_header)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::v1HeaderType const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Type_Headeras_header = nullptr
 
const Type_Structas_metadata = nullptr
 
ID name
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::V1Parser
Inheritance diagram for IR::V1Parser:

Public Member Functions

 V1Parser (JSONLoader &json)
 
 V1Parser (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 V1Parser (ID name, const Annotations *annotations)
 
 V1Parser (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 V1Parser (const Annotations *annotations)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::V1Parser const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

const Annotationsannotations = nullptr
 
const Vector< CaseEntry > * cases = nullptr
 
ID default_return = {}
 
bool drop = false
 
ID name
 
ID parse_error = {}
 
const Vector< Expression > * select = nullptr
 
Vector< Expressionstmts = {}
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::V1Program
Inheritance diagram for IR::V1Program:

Public Member Functions

 V1Program (CompilerOptions const &options)
 
 V1Program (JSONLoader &json)
 
void add (cstring name, Node const *n)
 
void dbprint (std::ostream &out) const override
 
template<class T >
const T * get (cstring name) const
 
cstring node_type_name () const override
 
bool operator== (IR::V1Program const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
virtual void dump_fields (std::ostream &) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
cstring toString () const override
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

NameMap< Node, std::multimap > scope
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 
class IR::V1Table
Inheritance diagram for IR::V1Table:

Public Member Functions

 V1Table (JSONLoader &json)
 
 V1Table (Util::SourceInfo srcInfo, ID name, const Annotations *annotations)
 
 V1Table (ID name, const Annotations *annotations)
 
 V1Table (Util::SourceInfo srcInfo, const Annotations *annotations)
 
 V1Table (const Annotations *annotations)
 
 V1Table (Util::SourceInfo srcInfo, ID name)
 
 V1Table (ID name)
 
 V1Table (Util::SourceInfo srcInfo)
 
void addProperty (const Property *prop)
 
void dbprint (std::ostream &out) const override
 
void dump_fields (std::ostream &out) const override
 
cstring node_type_name () const override
 
bool operator== (IR::V1Table const &a) const override
 
bool operator== (IR::Node const &a) const override
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void validate () const override
 
void visit_children (Visitor &v) override
 
void visit_children (Visitor &v) const override
 
- Public Member Functions inherited from IR::Node
 Node (Util::SourceInfo si)
 
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
const Nodeapply (Visitor &v) const
 
const Nodeapply (Visitor &&v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
template<typename T >
const T & as () const
 
virtual Nodeclone () const =0
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
template<typename T >
bool is () const
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
template<typename T >
const T * to () const
 
void traceCreation () const
 
- Public Member Functions inherited from IR::INode
template<typename T >
const T & as () const
 
template<typename T >
bool is () const
 
template<typename T >
const T * to () const
 
- Public Member Functions inherited from IHasDbPrint
void print () const
 

Static Public Member Functions

static IR::NodefromJSON (JSONLoader &json)
 
static cstring static_type_name ()
 
- Static Public Member Functions inherited from IR::Node
static cstring static_type_name ()
 

Public Attributes

ID action_profile = {}
 
vector< IDactions = {}
 
const Annotationsannotations = Annotations::empty
 
ID default_action = {}
 
const Vector< Expression > * default_action_args = 0
 
int max_size = 0
 
int min_size = 0
 
ID name
 
TableProperties properties = {}
 
const Vector< Expression > * reads = 0
 
vector< IDreads_types = {}
 
int size = 0
 
- Public Attributes inherited from IR::Node
int id
 
Util::SourceInfo srcInfo
 

Additional Inherited Members

- Protected Member Functions inherited from IR::Node
void traceVisit (const char *visitor) const
 
- Static Protected Attributes inherited from IR::Node
static int currentId = 0
 

Function Documentation

const Annotations* IR::Entry::getAnnotations ( ) const
overridevirtual

typically a MethodCallExpression. The action must be defined in action list

Implements IR::IAnnotated.

int IR::Cast::getPrecedence ( ) const
inlineoverridevirtual

These will generally always be the same, except when a cast to a type argument of a generic occurs. Then at some point, the 'destType' will be specialized to a concrete type, and 'type' will only be updated later when type inferencing occurs

Reimplemented from IR::Operation_Unary.

void IR::Constant::handleOverflow ( bool  noWarning)

base used when reading/writing if noWarning is true, no warning is emitted